升级Xcode 15.0.1后React Native项目编译失败求助
解决M1 Mac + Xcode15.0.1下React Native 0.63.3编译Firebase Analytics符号未定义问题
核心原因
React Native 0.63.3属于老旧版本,发布时未适配Xcode15;同时旧版Firebase Analytics相关Pod依赖与Xcode15默认的新链接器不兼容,导致链接阶段出现符号未定义错误。
解决方案
方案1:降级Xcode至兼容版本
React Native 0.63.x官方兼容Xcode 12.x版本,你可以从Apple开发者网站下载对应版本,安装后通过Xcode偏好设置(Preferences)-> Locations切换到该版本,再重新编译项目。
方案2:升级React Native及Firebase依赖(长期推荐)
- 逐步将React Native升级至0.69.x及以上版本(该版本开始原生支持M1芯片与高版本Xcode),按照官方升级流程操作即可。
- 升级Firebase相关依赖到适配Xcode15的版本:
- 将
@react-native-firebase/app升级至18.x及以上 - 将
@react-native-firebase/analytics升级至18.x及以上
- 将
- 重新安装依赖:
rm -rf node_modules package-lock.json yarn.lock npm install # 或 yarn install cd ios pod deintegrate rm Podfile.lock pod install --repo-update
方案3:临时适配Xcode15链接器(应急方案)
若暂时无法升级或降级,可尝试修改Xcode项目设置强制兼容:
- 打开ios目录下的
.xcworkspace文件 - 选中项目根目标,进入Build Settings
- 搜索
Other Linker Flags,添加-ld64(强制使用旧版链接器) - 搜索
Build Libraries for Distribution,设置为NO - 清理构建文件夹(快捷键Cmd+Shift+K),重新编译
额外排查点
- 检查Podfile,确保未将
Firebase/Analytics锁定到10.x以下的旧版本,执行pod update Firebase/Analytics强制更新该依赖 - 开启Xcode的Rosetta模式:右键Xcode图标 -> 显示简介 -> 勾选“使用Rosetta打开”,重启Xcode后再尝试编译
内容的提问来源于stack exchange,提问作者Parth
相关产品推荐
相关产品推荐

