Skip to content

run-ios on Xcode 27: DeviceHub opens no window when the simulator is shut down #2866

Description

@rakodev

Environment

  • macOS 26.6.2 (25G83)
  • Xcode 27.0 (27A266a), iOS 27.0 simulator runtime (24A434)
  • @react-native-community/cli 20.2.0; runOnSimulator is unchanged on main (21.0.0-alpha.1)
  • react-native 0.87.1
  • Node 22.22.3

Description

When the target simulator is shut down, run-ios builds, installs and launches the app, but DeviceHub never shows the simulator's window. The simulator runs headless, and DeviceHub keeps showing whatever device window was already open, if any. When the simulator is already booted, its window opens as expected.

runOnSimulator opens devices://device/open?id=<udid> and then runs xcrun simctl boot. DeviceHub opens a window for a device that is already booted, and also for one that stays shut down, but not for a device that starts booting right after the deep link is opened. Booting first and opening the deep link afterwards shows the window.

Reproducible Demo

With a shut-down simulator that has no DeviceHub window open:

UDID=<shut-down simulator UDID>

# What run-ios does today: the simulator boots, no window opens
open "devices://device/open?id=$UDID"; xcrun simctl boot "$UDID"

xcrun simctl shutdown "$UDID"

# Boot first, then open: the window opens
xcrun simctl boot "$UDID"; open "devices://device/open?id=$UDID"

In any React Native app, npx react-native run-ios --udid <shut-down simulator UDID> launches the app on a headless simulator.

Activity

  1. emartinez-nex commented on Oct 5, 2026

    @emartinez-nex

    Hi! This issue has already been addressed in #2806 (feat: Support DeviceHub for Xcode 27+) and released in v20.2.0.

    Upgrading @react-native-community/cli (and its platform packages) to 20.2.0 fixes the simulator launching issue on Xcode 27+.

  2. rakodev commented on Oct 6, 2026

    @rakodev
    Author

    Thanks for taking a look! This one is still there in 20.2.0, which is the version in the report above. It's a follow-up to #2806 rather than something #2806 fixes: #2806 fixed the Simulator.app does not exist crash on Xcode 27 by opening DeviceHub through the devices://device/open?id=<udid> deep link, but for a shut-down simulator it opens that link before simctl boot (runOnSimulator.ts#L60-L67), and DeviceHub then shows no window. The file hasn't changed on main since #2806.

    So on 20.2.0, npx react-native run-ios --udid <shut-down simulator UDID> builds, installs and launches the app on a headless simulator. #2867 boots first and opens the deep link afterwards.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions