auto watches for USB iPhones, prepares each device, verifies readiness, sets and verifies Auto-Lock to Never, and starts a cloud or local portal. It keeps watching for newly attached phones after startup, unlike the root command’s initial device selection.
Start with a prepared phone
- Complete Connect an iPhone, including host trust and Developer Mode.
- Stop any existing portal for that phone.
- Authenticate with
mobilerun-ios login, or exportMOBILERUN_IOS_TOKENfor an API key. - Start
mobilerun-ios autoand connect the phone over USB. - Wait for the
automatic device readylog, then confirm the phone is online in the dashboard and run a task.
--detach flag and is not managed by mobilerun-ios stop.
Configuration
Auto reads host configuration and environment values at startup. Restart it after changing credentials, Wi-Fi settings, or signing defaults. For automatic installation of missing WDA runners, choose one of:- An ASC signing account, selected using YAML
backend: ascandaccount. - A local Xcode identity, selected using YAML
backend: xcodeandidentity, with matching provisioning profiles already available. - A pre-signed runner in
wda_ipa_urlthat is valid for the target phone.
--account, --backend, --identity, --wda, or --reinstall flags. Use YAML for signing selection and MOBILERUN_IOS_REMOTE_XPC_ONLY for an explicit runtime control mode. Otherwise, the saved/default mode applies independently to each device.
Factory-state phones
When the device is positively identified as still in Setup Assistant, auto can prepare it without erasing it first. This path requires:wifi_ssidand a non-emptywifi_password.- A valid
supervision_certand matchingsupervision_keyowned by your device-management workflow. - Appropriate
reset_org_name,reset_locale, andreset_langvalues (these names also apply to non-erasing onboarding). - Signing configuration or a pre-signed artifact if the selected mode needs a missing WDA runner.
Flags
Inherited flags:
--log-level, --verbose / -v, and --tunnel-mode. Video/audio root flags are not inherited; use their environment variables.
Retry limits are not a process lifetime
The--retry-* flags govern portal reconnect attempts within a serving cycle. Auto also retries temporary preparation or connection failures with backoff from one second up to 30 seconds. Exhausting a portal retry budget therefore does not mean the auto process exits or gives up on the phone permanently.
Manual blockers are parked instead of retried continuously. Resolve the on-device condition, then physically detach and reconnect. For host configuration changes, stop and restart auto. A blocked phone does not prevent other eligible phones from preparing.
Local ports
A device keeps its local port while retrying. After a device disconnects, that port may be assigned to another phone, so do not treat a port number as a permanent UDID mapping. Read the device/address readiness logs. Auto does not displace a process already listening on a requested port.Recovery and limitations
Auto intentionally preserves installed runners and mounted images. It is not an automatic WDA upgrade or expired-certificate renewal service. Use setup and verification for explicit repairs, then restart auto.
Automatic readiness does not prove every stream or API feature works on every iPhone. Validate an actual cloud task and browser stream for your devices, particularly when using native control or a different tunnel/network layout.