mobilerun-ios runs on the host connected to your iPhone. It prepares the device and exposes its controls and screen to Mobilerun cloud, or serves a local HTTP portal.
This reference covers mobilerun-ios v0.4.0. Check mobilerun-ios --version and the installed command’s --help if an option is unavailable. Start with Connect an iPhone for the complete first-device walkthrough.
Choose a workflow
Setup and verification
Device preparation, command flags, control modes, and readiness checks.
Configuration
Every config.yaml key, environment overrides, and runtime tuning.
Automatic onboarding
USB discovery, concurrency, factory-state onboarding, and recovery.
Automatic WDA signing
App Store Connect, local Xcode identities, and pre-signed runners.
Connect and operate
<udid> with the identifier from list. setup does not log in or start the cloud connection; successful verification is a prerequisite check, not proof that cloud streaming works. Confirm the device appears online in the dashboard and run a task.
Background portals
~/.mobilerun-ios/portals/. stop without a UDID stops all detached portals. Foreground sessions, including auto, are stopped with Ctrl+C or SIGTERM, not with stop.
Foreground cloud connections default to a five-attempt retry budget; detached connections retry for up to 30 minutes. Both use exponential backoff. Override with --retry-attempts, --retry-duration, --retry-base-delay, and --retry-max-delay. A zero attempt or duration limit disables that limit. Authentication failures are not fixed by retrying; check whoami, log in again, or replace the API key.
Local HTTP portal
Authorization: Bearer <token>. This is a device-control endpoint, not a public website. Keep it on a trusted network; do not expose it directly to the internet.
WDA and native control
- iOS versions below 27: use WebDriverAgent (WDA).
- iOS 27+: without a saved choice or installed runner, setup selects native RemoteXPC control. An existing runner keeps WDA as the default.
- Saved choice: successful setup saves the mode per device; subsequent setup, verify, and portal sessions reuse it.
- Explicit WDA: use
mobilerun-ios setup <udid> --wda.
/mobilerun app folder, and factory reset do not have native parity in this release.
For native video, use the separate privileged tunnel process. Run only the tunnel with sudo; keep the portal under your normal desktop user so it uses your login and configuration:
Terminal 1
Terminal 2
WebDriverAgentTunnel app extension used by WDA.
Other commands
Usemobilerun-ios --help for the command inventory and mobilerun-ios <command> --help for command-specific syntax. logout clears the saved session token; an exported MOBILERUN_IOS_TOKEN still overrides the file.