Skip to content

feat(ios): support simulator launch architecture (iOS 26+)#4916

Merged
noomorph merged 2 commits intomasterfrom
feat/arch-support
Mar 20, 2026
Merged

feat(ios): support simulator launch architecture (iOS 26+)#4916
noomorph merged 2 commits intomasterfrom
feat/arch-support

Conversation

@noomorph
Copy link
Copy Markdown
Collaborator

@noomorph noomorph commented Mar 18, 2026

Summary

Adds arch property to iOS app config, allowing Detox to pass --arch to xcrun simctl launch. This lets you control which architecture slice of a universal binary runs on the simulator —
useful for testing x86_64 behavior under Rosetta on Apple Silicon machines.

Motivation

Xcode 26 introduced split simulator runtimes: Apple Silicon (arm64-only) and Universal (arm64 + x86_64 via Rosetta 2). On Universal runtimes, simctl launch --arch=x86_64 spawns the x86_64
slice. This matters for CI and testing: floating-point precision differs between architectures, and some third-party SDKs still ship x86_64-only simulator slices.

What changed

  • App config: new optional arch property ('x86_64' or 'arm64') on ios.app configs
  • Config validation: rejects invalid values and non-iOS app types
  • Plumbing: arch flows from app config through RuntimeDevice.launchApp()SimulatorDriver.launchApp()AppleSimUtils.launch()--arch=<value> on the simctl command
  • Types: DetoxIosAppConfig updated in detox.d.ts
  • Docs: app config documentation updated

Usage

{
  "type": "ios.app",
  "binaryPath": "ios/build/Build/Products/Debug-iphonesimulator/example.app",
  "arch": "x86_64"
}

@noomorph noomorph force-pushed the feat/arch-support branch 6 times, most recently from 20159f2 to e96e5ff Compare March 19, 2026 17:12
@noomorph noomorph changed the title feat(ios): add simulator launch architecture support feat(ios): support simulator launch architecture (iOS 26+) Mar 19, 2026
@noomorph noomorph force-pushed the feat/arch-support branch 2 times, most recently from 194bf7d to 3e4bc04 Compare March 19, 2026 19:24
@noomorph noomorph marked this pull request as ready for review March 19, 2026 19:24
@noomorph noomorph requested a review from d4vidi as a code owner March 19, 2026 19:25
@noomorph noomorph force-pushed the feat/arch-support branch 2 times, most recently from f730e82 to 1c4d2e1 Compare March 20, 2026 12:53
@noomorph noomorph removed the request for review from d4vidi March 20, 2026 14:05
@noomorph noomorph force-pushed the feat/arch-support branch from cac9d6e to 01d8739 Compare March 20, 2026 18:25
@noomorph noomorph merged commit b51d2b8 into master Mar 20, 2026
6 checks passed
@noomorph noomorph deleted the feat/arch-support branch March 20, 2026 19:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant