React Native升级至0.79.2后Xcode归档时出现Multiple commands produce React-Core_privacy.bundle错误
我之前升级React Native到0.79.2版本时,也碰到过和你完全一样的归档错误——模拟器运行正常、Android构建没问题,唯独Xcode归档时就报Multiple commands produce React-Core_privacy.bundle。试过清构建文件夹、删衍生数据都没用,后来折腾出几个亲测有效的解决办法,分享给你:
排查Pod依赖重复,手动排除重复资源
这个错误大概率是某个第三方库和React Native核心库重复打包了privacy.bundle资源。你可以在Podfile里添加一段预处理脚本,手动排除React-Core里的重复bundle:pre_install do |installer| installer.pod_targets.each do |pod| if pod.name == 'React-Core' # 移除重复的privacy.bundle资源 pod.resources = pod.resources.reject { |res| res.include?('privacy.bundle') } end end end添加完后,执行
cd ios && pod deintegrate && pod install重新安装依赖。检查Xcode的Copy Bundle Resources阶段
打开Xcode项目,进入Build Phases->Copy Bundle Resources,看看列表里有没有重复的React-Core_privacy.bundle条目。如果有,直接删掉其中一个即可。注意:如果是Pods自动生成的配置,可能需要先执行一次pod install再检查。执行更彻底的全链路清理
单纯清Xcode缓存可能不够,试试这套完整的清理流程:# 清理Node依赖和缓存 rm -rf node_modules && npm install # 清理iOS Pod依赖和缓存 cd ios && pod deintegrate && pod clean && rm -rf Podfile.lock && pod install # 彻底删除Xcode衍生数据 rm -rf ~/Library/Developer/Xcode/DerivedData清理完成后重启Xcode,再尝试归档。
检查第三方库兼容性
你用到的react-native-view-pdf(RNPDF)和react-native-fs(RNFS)可能还没适配RN 0.79.2,建议升级这两个库到最新版本。另外,react-native-permissions的setup脚本也可能和RN新版本的配置冲突,试试更新它到最新兼容版,或者暂时注释掉setup.rb调用,看看是否能正常归档(后续再重新配置权限)。调整Xcode的Bitcode设置
进入Xcode项目的Build Settings,搜索Enable Bitcode,把它改成No,然后重新尝试归档。有些RN新版本的核心库对Bitcode的支持有兼容性问题,关闭后可能解决冲突。
如果以上方法都不行,建议你打开Xcode的Report Navigator,查看错误的详细日志,定位到底是哪个Pod在重复生成这个bundle,针对性地处理那个依赖即可。
内容来源于stack exchange

