Skip to content

feat: Support DeviceHub for Xcode 27+ - #2806

Merged
huntie merged 2 commits into
react-native-community:mainfrom
huntie:apple-device-hub
Jun 12, 2026
Merged

huntie merged 2 commits into
react-native-community:mainfrom
huntie:apple-device-hub

Conversation

@huntie

@huntie huntie commented Jun 10, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Xcode 27 replaces the iOS Simulator.app with DeviceHub.app and relocates it from /Contents/Developer/Applications to /Contents/Applications, which made run-ios fail when launching the simulator UI.

Follows / inspired by expo/expo#46757.

Note

Open question: Is run-ios actively used these days? We no longer have the i and a key handlers, and instead direct people to the Xcode UI, where the run action handles this implicitly.

Test Plan

Setup

sudo xcode-select -s /Applications/Xcode-27.0.0-Beta.app/Contents/Developer/
yarn link @react-native-community/cli-platform-apple
yarn
yarn start

run-ios with simulator launch

yarn rnc-cli run-ios --scheme RNTester
image

✅ Successfully opens/focuses Device Hub

Checklist

  • Documentation is up to date.
  • Follows commit message convention described in CONTRIBUTING.md.
  • For functional changes, my test plan has linked these CLI changes into a local react-native checkout (instructions).

Xcode 27 replaces the iOS Simulator.app with DeviceHub.app and relocates it from <Xcode>/Contents/Developer/Applications to <Xcode>/Contents/Applications, which made `run-ios` fail when launching the simulator UI.

Inspired by expo/expo#46757.
@huntie
huntie requested a review from thymikee June 10, 2026 16:32
@huntie
huntie marked this pull request as ready for review June 11, 2026 12:26
@huntie
huntie requested a review from cipolleschi as a code owner June 11, 2026 12:26
@huntie
huntie requested a review from cortinico June 11, 2026 12:26
Comment thread packages/cli-platform-apple/src/commands/runCommand/runOnSimulator.ts Outdated

@cortinico cortinico left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 👍

@huntie
huntie merged commit 6c06782 into react-native-community:main Jun 12, 2026
8 checks passed
@huntie
huntie deleted the apple-device-hub branch June 12, 2026 10:21
leotm added a commit to leotm/react-native-template-new-architecture that referenced this pull request Jun 19, 2026
Fix react/react-native#57160 with react-native-community/cli#2806

Fixed @react-native-community/cli Windows compat with paths locally, then built JS, types and sourcemaps to create patch

Resolve: #1994
@MalcolmTomisin MalcolmTomisin mentioned this pull request Sep 15, 2026
thymikee pushed a commit that referenced this pull request Sep 25, 2026
skryukov added a commit to skryukov/inertia-native that referenced this pull request Oct 9, 2026
Xcode 27 replaces Simulator.app with Device Hub, in
<Xcode>/Contents/Applications, so `open -a Simulator` failed and run
left the simulator without a window, silently. Open the selected
Xcode's Simulator.app, else its Device Hub with a devices:// URL (as
@expo/cli 57.0.28 and react-native-community/cli#2806 do), else ask
Launch Services for either; warn when nothing opens.
knyar pushed a commit to knyar/svitle-radio-mobile that referenced this pull request Oct 22, 2026
Xcode 27 removed Simulator.app in favour of DeviceHub.app, and CLI 20.0
hardcoded the old path, so `react-native run-ios` died before building.
CLI 20.2.0 (react-native-community/cli#2806) opens Device Hub through the
devices:// URL scheme when Simulator.app is absent.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants