react / react/react-native

0.87 and below: Crash upon launch iOS 27

Ouverte
#58,545 13 commentaires 9 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Needs: Attention Needs: Repro
Langage dominant
C++
Étoiles
127k
Forks
25.3k
Merge moyen
1 j 23 h
PR mergées (30 j)
4

Description

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

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par créer une nouvelle application React Native et la lancer sur un simulateur iOS 27 afin de reproduire le crash silencieux. Lisez les modifications de AppDelegate, SceneDelegate, info.plist et pbxproject mentionnées dans l’issue et comparez-les avec la pull request liée. Le travail est terminé lorsqu’une application utilisant React Native 0.87.1 ou une version antérieure se lance correctement sur iOS 27.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
ios, react-native
Domaine
mobile
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
Active
Clarté
À clarifier
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.