Skip to main content

File location and precedence

The configuration file is ~/.mobilerun-ios/config.yaml (note the spelling: .mobilerun-ios). A missing file is allowed. login and interactive signing-account setup create or update it. For scalar YAML settings, a non-empty MOBILERUN_IOS_<UPPERCASE_KEY> environment variable overrides the file. For example, MOBILERUN_IOS_TOKEN overrides token. A supported, explicitly supplied command flag takes precedence over its corresponding config/environment value; unset values use the defaults below.
Not every CLI flag is a YAML setting. Video/audio tuning, control mode, tunnel mode, local authentication, logging, and telemetry read environment variables directly. Adding video_fps, remote_xpc_only, or local_token to YAML does not configure them. auto concurrency and retry policy are command flags, not YAML keys.
Keep secrets out of source control. When creating the file manually, restrict access:
Use absolute paths for key, certificate, and image files. A ~ inside a YAML string is not expanded by the shell. Restart auto after editing the file or changing its environment: configuration changes take effect on the next run.

Cloud authentication

For an interactive host, use mobilerun-ios login and mobilerun-ios whoami. For an unattended host, inject an API key:
logout removes the saved token, not environment overrides. Do not paste tokens into diagnostic reports.

Developer disk images

Default ddi_url:
Images are cached in ~/.mobilerun-ios/devimages/. setup --ddi-path and setup --ddi-url override the configured values for that invocation. auto repairs an observed missing DDI rather than replacing an already-mounted image indiscriminately.

Runner and signing

Default runner_url:
setup does not read backend, account, or identity from YAML. Pass --backend, --account, or --identity to setup. Both setup and auto read signing_accounts, bundle_id, runner_url, and DDI settings. Do not confuse provisioning bundle_id with the runtime-only MOBILERUN_IOS_WDA_BUNDLE_ID launch selector.

Signing account fields

Minimal ASC-backed auto configuration (merge this into an existing file rather than overwriting login settings):
For account creation, Xcode bootstrap, and renewal, see Automatic WDA signing.

Factory-state onboarding and reset

These settings are not needed just to serve a prepared phone. auto consults them when a phone is positively identified as still in Setup Assistant. Explicit reset uses them for its erase-and-reprovision workflow.
Provision the supervision identity through your device-management process; it is separate from an ASC API key or WDA signing certificate. Do not replace an existing managed device’s identity with an arbitrary certificate.
Configuring these keys does not authorize erasure. auto never erases and rejects remote factory-reset requests. The explicit reset command is destructive and additionally requires wda_ipa_url, confirmation, and exclusive device ownership.

Environment-only runtime settings

These are not config.yaml keys. The flag column describes the root portal command unless marked global. Most root flags are not inherited by auto; use the environment equivalents for auto’s media/control settings.

Video and audio

These are requests to the relevant capture/encoding paths, not guarantees that every backend or phone supports every value. In particular, JPEG quality affects fallback paths rather than the primary encoded broadcast. Integer flags reject out-of-range values; the media environment loaders clamp numeric values to their supported bounds.

Files managed by the CLI

Do not modify CLI-managed files while processes are running. Saving login/account settings preserves your file settings without copying temporary environment overrides into YAML.