使用Xcode 16上传App至App Store时因AgoraRtmKit含Bitcode导致验证失败
使用Xcode 16上传App至App Store时因AgoraRtmKit含Bitcode导致验证失败
嘿,我太懂这种明明自己关了Bitcode却还是踩坑的感觉了!Xcode 16对Bitcode的验证确实比之前严格不少,尤其是第三方框架带的Bitcode,哪怕你自己项目关了也会触发失败。结合你用的依赖版本(agora-react-native-rtm@1.5.1、agora-rn-uikit@5.0.2、react-native@0.73.8、react-native-agora@4.4.0),给你几个亲测可行的解决方案:
优先升级Agora相关依赖版本
你用的agora-react-native-rtm 1.5.1版本比较旧了,大概率没适配Xcode 16的Bitcode规则。建议把agora-react-native-rtm和react-native-agora都升级到官方最新的稳定版,同时同步更新agora-rn-uikit到匹配的版本——Agora后续的RN SDK版本已经针对Xcode 16做了Bitcode适配,升级后基本能直接解决问题。手动移除AgoraRtmKit的Bitcode(临时方案)
如果暂时没法升级依赖,可以手动处理框架里的Bitcode:- 找到项目中
node_modules/agora-react-native-rtm/ios目录下的AgoraRtmKit.framework - 打开终端,进入该框架的二进制文件目录,执行以下命令移除Bitcode:
xcrun bitcode_strip AgoraRtmKit -r -o AgoraRtmKit - 处理完后,记得用
Command+Shift+K清理Xcode的Build Folder,重新Archive再尝试上传
- 找到项目中
检查所有Target的Bitcode设置
除了你自己的主Target,还要确保Pod依赖的Target也都关闭了Bitcode:- 在Xcode中打开Pods项目
- 分别找到
AgoraRtmKit、react-native-agora、agora-rn-uikit对应的Target - 在Build Settings里搜索
ENABLE_BITCODE,把它设置为NO - 确认所有相关Target都配置完成后,重新Archive上传
为啥自己项目关了Bitcode还会出问题?其实是因为第三方框架在编译时如果嵌入了Bitcode,Xcode 16的上传验证会检测到这些残留的Bitcode,所以必须确保所有涉及的框架和Target都完全禁用Bitcode才行。
内容来源于stack exchange
相关产品推荐
相关产品推荐

