Skip to content

fix: adopt UIScene lifecycle so iOS 27 apps launch - #251

Open
thang2162 wants to merge 1 commit into
react-native-community:0.87-stablefrom
thang2162:fix/ios-27-scene-lifecycle
Open

thang2162 wants to merge 1 commit into
react-native-community:0.87-stablefrom
thang2162:fix/ios-27-scene-lifecycle

Conversation

@thang2162

Copy link
Copy Markdown

Summary

Apps generated from this 0.87 template crash immediately on launch when built with Xcode 27 / the iOS 27 SDK. UIKit asserts in ___UIApplicationEvaluateRuntimeIssueForNoSceneLifecycleAdoption because the template still creates UIWindow from AppDelegate and does not declare a scene manifest.

This migrates the iOS template to the UIScene lifecycle using APIs that already exist on React Native 0.87 (startReactNative(withModuleName:in:launchOptions:)). It does not depend on RCTSceneDelegate or connectionOptions:, which only landed on 0.88+/main.

Related:

Changelog

[IOS] [FIXED] - Adopt UIScene lifecycle so apps built with Xcode 27 launch on iOS 27

Test Plan

  • Generated app from this template pattern and ran on iOS 27 simulator (iPhone 18 Pro)
  • Confirmed the previous AppDelegate-only bootstrap SIGTRAPs in NoSceneLifecycleAdoption
  • Confirmed the SceneDelegate bootstrap reaches Metro and shows the Welcome screen
  • yarn test in this repo

Made with Cursor

Xcode 27 / the iOS 27 SDK asserts at startup unless the app uses a
scene-based lifecycle. Create the React Native window from SceneDelegate
using the 0.87 startReactNative(launchOptions:) API.

Co-authored-by: Cursor <cursoragent@cursor.com>
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