react / react/react-native

0.87 and below: Crash upon launch iOS 27

Đang mở
#58,545 13 bình luận 9 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Needs: Attention Needs: Repro
Ngôn ngữ chính
C++
Star
127k
Fork
25.3k
Merge trung bình
1 ngày 23 giờ
Pull request đã merge (30 ngày)
4

Mô tả

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

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Hướng nghiên cứu

Bắt đầu bằng cách tạo một ứng dụng React Native mới và khởi chạy ứng dụng đó trên trình mô phỏng iOS 27 để tái hiện lỗi crash im lặng. Đọc các thay đổi đối với AppDelegate, SceneDelegate, info.plist và pbxproject được tham chiếu trong issue, rồi so sánh chúng với pull request được liên kết. Công việc được xem là hoàn tất khi một ứng dụng chạy React Native 0.87.1 hoặc thấp hơn khởi chạy thành công trên iOS 27.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
ios, react-native
Lĩnh vực
mobile
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Sôi nổi
Độ rõ ràng
Cần làm rõ
Mức phù hợp với người mới
35/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.