Skip to content
screenjson

Native apps

iOS Viewer

An open-source iOS ScreenJSON reader for iPhone and iPad. It wraps @screenjson/ui in a Tauri shell so the same rendering engine runs as a native mobile app.

iOS Viewer hero image
Repository public

What it is

The iOS Viewer is the ScreenJSON reader for iPhone and iPad. It uses the same viewer engine as the desktop app, but packaged as a native mobile shell so a screenplay can be opened on-device with touch-first reading controls.

It uses @screenjson/ui for the screenplay render engine and adds the Tauri/iOS wrapper for file handling and native packaging.

What it does

  • Opens local ScreenJSON files on iPhone and iPad
  • Prompts for passwords on encrypted scripts and decrypts in memory
  • Uses responsive screenplay reflow on smaller screens
  • Supports tap-to-toggle controls, zoom, and dark/light mode
  • Keeps the app read-only by design

Install

git clone https://github.com/screenjson/screenjson-viewer.git
cd screenjson-viewer
npm install

The viewer now installs @screenjson/ui from npm as a normal dependency.

iOS prerequisites

To build for iOS, install:

  • Xcode 15+
  • an Apple Developer account
  • CocoaPods

iOS development

One-time setup:

npm run tauri:ios:init

Then run:

npm run tauri:ios:dev

This launches the app on a simulator or attached device.

Build for release

npm run tauri:ios:build

The native iOS project is generated under src-tauri/gen/apple/.

When to use it

Use the iOS Viewer when a screenplay needs to be read locally on iPhone or iPad with a native app shell, offline access, and a touch-friendly reading experience.

Next