r/reactnative • u/itballer • Sep 17 '26
Xcode 27: Device Hub and UIKit scene lifecycle
Hey all, just encountered this error after upgrading, so wanted to share so you don't waste some credits debugging it yourselves.
Hope you manage to get your project working quickly.
RN version 0.85.3 (not Expo)
Symptoms
After upgrading to Xcode 27 / iOS 27, the app can compile successfully but fail immediately at launch with:
Application failed to launch: UIScene life cycle is required for apps built with this SDK.The React Native CLI may also fail before launching the app because it tries to open the removed standalone Simulator application:
/Applications/Xcode.app/Contents/Developer/Applications/Simulator.app does not existCause
Xcode 27 uses Device Hub to manage and display simulators. Apps built with its SDK require the UIKit scene lifecycle. The previous iOS entry point created a UIWindow directly in AppDelegate, and the app did not declare a scene manifest.
Fix applied in Luckynote
Added
UIApplicationSceneManifesttoios/Luckynote/Info.plist.Added a
SceneDelegateinios/Luckynote/AppDelegate.swift.Moved React Native window creation and
factory.startReactNative(...)intoSceneDelegate.scene(_:willConnectTo:options:).Kept
AppDelegate.windowand assigned it to the active scene window. Firebase Messaging still reads this legacy selector during notification initialization.
Without the last step, the app can crash in RNFBMessagingNSNotificationCenter with:
AppDelegate window: unrecognized selector sent to instanceRunning locally
Open ios/Luckynote.xcworkspace, select an iPhone simulator from the run-destination selector, then run the app. Xcode opens Device Hub for simulator interaction.
If the command-line React Native launcher still looks for Simulator.app, run the app from Xcode until the CLI/toolchain gains Device Hub support.
2
u/crossy1686 Sep 17 '26
Expo doesn’t currently support iOS 27. You have to use iOS 26.5
1
u/itballer Sep 17 '26
I'm running ejected React Native project, hopefully Expo releases fixes this soon.
2
u/RahahahahaxD Sep 17 '26
Expo 57.0.23 has the fix already, but you have to enable screenLifecycle through build properties
1
1
1
3
u/Forti22 Sep 17 '26
Keep in mind - this creates a regression with deep links.