Skip to main content
Momentic supports iOS testing on:
  • Remote simulators hosted by Momentic. Upload your .app, pick a channel and tag, and each test gets a fresh simulator.
  • Local simulators managed by your Xcode install (macOS only).
Real devices are not supported. Pick per-test via the Region dropdown, any Momentic region selects remote simulators; Local selects local.

Remote simulators

Momentic provisions fresh simulators on-demand, typically in under a second.

App management

Remote simulators install your app from channels and tags, the same system used for Android. Upload via the Momentic dashboard’s Assets page or via momentic-mobile assets.

App requirements

Momentic requires a testing build as a .app bundle. In Xcode, use Product, then Build For, then Testing. See App setup for the full walkthrough.

Regions

Set the Region in each test’s settings. If unset, Momentic picks the closest region to the caller’s IP. Supported remote regions for iOS:
  • US West (us-west1)
  • EU North (eu-north1)

iOS versions

Currently iOS 26 is supported. If you need a different iOS version, reach out to the Momentic team.

Local simulators

Local simulators require macOS and Xcode. See App setup for install prerequisites including idb.

Configuration

Install your app on a local simulator via one of:
  1. Test-level app path: set an .app path in each test’s settings.
  2. Environment-based settings: see below.
  3. CLI flag overrides, --local-app-path and --local-ios-device-type on run take precedence over everything else.

Environment-based iOS settings

Engineers with different file layouts can use environment variables:
momentic.config.yaml
environments:
  - name: local
    envVariables:
      LOCAL_IOS_DEVICE_TYPE: ${MOMENTIC_IOS_DEVICE_TYPE:-iPhone 17}
      LOCAL_IOS_APP_PATH: ${MOMENTIC_IOS_APP_PATH:-../../data/ios-test-apps/drag-drop-native/app-debug.app}
Each developer then sets MOMENTIC_IOS_DEVICE_TYPE and MOMENTIC_IOS_APP_PATH in their .env file or ~/.zshrc. Environment-based config is active only when the test runs in that environment, and can’t be overridden at the test level.

Overrides in CI

The run command supports --local-ios-device-type and --local-app-path flags that take precedence over everything else.