React Native iOS应用升级Xcode13后iPhone11 iOS15启动页闪退
排查解决步骤
- 确认React Native兼容版本
Xcode 13 + iOS 15 组合最低要求React Native版本为0.64.3,如果当前使用版本低于该要求,优先升级RN到兼容版本,版本跨度大的可对应查找对应版本的iOS15适配补丁手动修改。 - 修复AppDelegate适配问题
打开ios目录下的AppDelegate.m文件,检查是否缺失iOS15新增的生命周期方法适配,添加以下代码:- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // 原有代码保持不变 if (@available(iOS 15.0, *)) { UINavigationBarAppearance *appearance = [[UINavigationBarAppearance alloc] init]; [appearance configureWithOpaqueBackground]; UINavigationBar.appearance.standardAppearance = appearance; UINavigationBar.appearance.scrollEdgeAppearance = appearance; } return YES; } - 清理缓存重新构建
执行以下命令清理所有构建缓存后重新运行:cd ios && rm -rf ~/Library/Developer/Xcode/DerivedData/* && xcodebuild clean && cd .. && rm -rf node_modules && yarn install && cd ios && pod install --repo-update && cd .. && react-native run-ios - 检查链接器配置
打开Xcode项目,在Build Settings中找到Other Linker Flags,添加-ld64标志,Xcode13默认使用新的ld链接器可能和RN旧版本依赖的二进制库不兼容,切换回旧版ld链接器可解决多数闪退问题。 - 排查第三方依赖兼容问题
如果上述步骤都无效,检查项目中引入的原生iOS第三方库是否有未适配iOS15的版本,逐个升级到对应兼容版本即可。
内容的提问来源于stack exchange,提问作者Pravesh Choudhary
相关产品推荐
相关产品推荐

