0.87 and below: Crash upon launch iOS 27
まだ誰も着手していません。
- 主要言語
- C++
- スター
- 127k
- フォーク
- 25.3k
- 平均マージ
- 1日 23時間
- マージ済み PR(30日)
- 4
説明
Description
Edited description:
In iOS 27, it’s required to handle Lifecycles with SceneDelegate. Failing to adhere to this will cause a crash upon app launch. There is a console output in the Xcode console regarding the SceneDelegate requirement but none that I know of in Metro / RN Dev Tools, I have not checked them.
The concerning part is that an app that does launch on an iOS 26 simulator/phone will fail to launch at all on iOS 27, even though compiling in Xcode 27 will be succesful. Crash with no error output, just silently (for the end user).
Since iOS support has been quite stable historically, at least in my limited experience, this can lead to a dev thinking iOS 26 support = iOS 27 support. However, that does seem to be the case as long as you are on Xcode 26 or below. I believe building and distributing through Xcode 27 is required for the app to crash on iOS 27.
In my case the app even passed App Store review and came all the way through.
Updates to AppDelegate, SceneDelegate, info.plist and pbxproject are needed. As far as I understand, The React Native team have yet to decide an official implementation. However, applying these linked fixes will work for 0.86 and 0.87 (and possible more versions):
Original description kept below:
Yesterday I tested a working copy of my app. When done, I upgraded to Golden Gate and Xcode 27.
This morning I used xcode 27 to distribute to Apple Store. I did not try to run the app before this. The app built fine. App Store deploy. Apple approved it. However, it does not ****** run. It crashes immedately. Since this SceneDelegate portion is missing and xcode 27 needs it.
So Apple has somehow approved an app that crashes immediately.
I'm stressed as hell right now. How do I make my RN 87.1 app support this new iOS 27 / macOS 27 SceneDelegate stuff?
Steps to reproduce
Create an app using React Native new-app. Launch on iOS 27 simulator and watch it crash.
React Native Version
0.87.1 and below
Affected Platforms
Runtime - iOS
Output of npx @react-native-community/cli info
System:
OS: macOS 27.0
CPU: (10) arm64 Apple M4
Memory: 68.91 MB / 16.00 GB
Shell:
version: "5.9"
path: /bin/zsh
Binaries:
Node:
version: 26.8.2
path: /opt/homebrew/bin/node
Yarn: Not Found
npm:
version: 11.19.1
path: /opt/homebrew/bin/npm
Watchman:
version: 2026.07.27.00
path: /opt/homebrew/bin/watchman
Managers:
CocoaPods:
version: 1.16.2
path: /Users/alexstrae/.rbenv/shims/pod
SDKs:
iOS SDK:
Platforms:
- DriverKit 27.0
- iOS 27.0
- macOS 27.0
- tvOS 27.0
- visionOS 27.0
- watchOS 27.0
Android SDK: Not Found
IDEs:
Android Studio: 2025.2 AI-252.27397.103.2522.14514259
Xcode:
version: 27.0/27A266a
path: /usr/bin/xcodebuild
Languages:
Java:
version: 17.0.15
path: /usr/bin/javac
Ruby:
version: 3.4.4
path: /Users/alexstrae/.rbenv/shims/ruby
npmPackages:
"@react-native-community/cli":
installed: 20.2.0
wanted: 20.2.0
react:
installed: 19.2.3
wanted: 19.2.3
react-native:
installed: 0.87.1
wanted: 0.87.1
react-native-macos: Not Found
npmGlobalPackages:
"*react-native*": Not Found
Android:
hermesEnabled: true
newArchEnabled: true
iOS:
hermesEnabled: true
newArchEnabled: true
Stacktrace or Logs
no
MANDATORY Reproducer
no
Screenshots and Videos
No response
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
まず新しい React Native アプリを作成し、iOS 27 シミュレータで起動してサイレントクラッシュを再現します。Issue で参照されている AppDelegate、SceneDelegate、info.plist、pbxproject の変更を読み、リンクされている pull request と比較します。React Native 0.87.1 以下のアプリが iOS 27 で正常に起動すれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- ios, react-native
- 領域
- mobile
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 活発
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 35/100