Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

Xcode 27 won’t launch 93% of React Native apps: the UIScene change, and the libraries that crash after it

Описание и применение

Xcode 27 требует внедрения жизненного цикла сцены UIKit, из‑за чего 93 % React Native и Expo‑приложений падают при запуске. Обновление до React Native 0.88 или Expo SDK 58, патчинг библиотек, которые обращаются к окну через AppDelegate, и перенаправление URL‑обработчиков в SceneDelegate решают проблему.

Задача

Apps built with Xcode 27 (iOS 27 SDK) fail to launch if they have not adopted the UIKit scene life cycle, causing crashes in many React Native and Expo projects.

Результат

After adopting scenes, updating libraries, and forwarding URLs, the 93% of apps that previously crashed now launch successfully under Xcode 27.

Рабочий процесс

  • 1. Verify scene adoption by checking Info.plist for UIApplicationSceneManifest or AppDelegate implementation of application(_:configurationForConnecting:options:).
  • 2. For Expo, enable scene support in expo-build-properties or upgrade to SDK 58. For React Native, upgrade to 0.88 or later.
  • 3. Identify dependencies that access AppDelegate.window (e.g., react‑native‑blob‑util, @react-native-firebase/messaging, react‑native-google‑mobile‑ads).
  • 4. Apply patches or update libraries to use RCTPresentedViewController or RCTKeyWindow.
  • 5. Forward URL and user activity events from the scene delegate to RCTLinkingManager.
  • 6. Build with Xcode 27 before April 2027 and test launch, pickers, ads, and deep links from a cold start.
  • 7. Run npx nativekeel to check scene adoption, library crashes, and URL handler placement.

Доказательства

628 React Native and Expo apps with an iOS target; 583 (93%) not on the scene life cycle yet

Источник

Application failed to launch: UIScene life cycle is required for apps built with this SDK.

Источник

react-native-blob-util#498

Источник

react-native-google-mobile-ads#911

Источник

  • Дата записи: 2026-10-11T10:56:01.694Z