iOS app
The production iOS app is a universal iPhone and iPad SwiftUI shell in
ios/OpenPocketCine/. It is the operator-proven datalink. Generate the Xcode
project with XcodeGen — see Setup.
What it does
Section titled “What it does”- Bluetooth pairing, camera Wi-Fi join, saved cameras, reconnect
- HEVC live view on Pocket 4 / 4 Pro; AVC on Osmo Nano
- Scopes, exposure/focus assists, framing tools, customizable DISP chrome.
Long-press LUT: DJI / Creative / Custom. DJI Auto uses the official Rec.709
cubes. Creative is Mono / Contrast / Warm / Cool. Exposure compensation is
−3…+3 at ½ stop before the cube. Auto on a clip reads
com.dji.camera.ColorGammaSxSfrom the original take (same field Mimo Color Recovery uses) — not the 720p LRF sidecar, which is Rec.709 even for log. Last live D-Log / D-Log2 is the fallback when that atom is missing —colr/nclxis Rec.709 even for log. Opening LUT on a disconnected clip keeps that Auto cube (it does not restamp from a missing live SET). - Camera writes (record, ISO, EV, zoom, gimbal on Pocket). The gimbal stick and zoom chip sit together as a cluster in the trailing-bottom of the picture — the same on iPhone and iPad, portrait and landscape. D-Log2 cannot zoom: idle hops to D-Log off 1×; while rolling the chip grays and tap/pinch toast instead of changing color.
- Media library, playback with LUT / peaking / false colour / zebra on the 720p
proxy (same present order as live: identity player and Metal are siblings;
GPU latest-wins, freeze keeps the last frame). Preview LUT grades the
decoded 420 frame on Metal at 1440 px — not
AVVideoComposition(that path is export bake). LUT replace hides the player once Metal owns the picture. Next/prev with LUT on keeps the grade without cycling the chip. Auto LUT remembers shot color with the cached clip, so it still binds when the camera is disconnected. A Proxy tag means only the 720p sidecar is on the phone — connect to share the original. Storage Full Resolution Caching (on by default) also caches the original when you open a clip. LUT bake on export can include the LUT exposure pull (Bake exposure under Bake LUT; on by default) - Optional Frame.io Camera to Cloud when you add your own Adobe keys
Verify record start/stop on the camera body until you trust the link.
Device requirements
Section titled “Device requirements”BLE, Local Network, and Hotspot Configuration do not work in the Simulator.
Operator-visible UI changes are proven on a physical iPhone (and iPad when
the layout is in play). Protocol tests (just test) do not need hardware.
iPad hides the system time / battery bar; monitor chrome is the HUD.
Platform notes for the wire (Hotspot Configuration, Local Network, CoreBluetooth): iOS protocol notes.
Releases
Section titled “Releases”Public beta: TestFlight. PRs that
change Sources/, ios/, or Package.swift update
ios/TestFlight/WhatToTest.en-US.txt for operators. See
docs/testflight-ci.md.