react / react/react-native

0.87 and below: Crash upon launch iOS 27

オープン
#58,545 コメント 13 件 リアクション 9 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

Needs: Attention Needs: Repro
主要言語
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):

https://github.com/lodev09/react-native-true-sheet/pull/843/changes#diff-dc87f0be9c8ca3a727efb4fd5d77e6b551d8cee9fe22fea2c07062f907f6507bR15

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

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. 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

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。