You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Expo EAS构建:AgoraRtmKit.framework中的Bitcode导致App Store提交失败(SDK 52 / React Native 0.76 / 托管工作流)

Expo EAS构建:AgoraRtmKit.framework中的Bitcode导致App Store提交失败(SDK 52 / React Native 0.76 / 托管工作流)

我目前在Expo托管工作流中使用Expo SDK 52(对应React Native 0.76.9),集成了Agora的视频通话功能,用到的依赖版本是:

  • react-native-agora@4.5.2
  • agora-react-native-rtm@1.5.1
  • agora-rn-uikit@5.0.2

本地构建和EAS构建都能顺利完成,但提交到App Store Connect时直接被拒,收到的错误提示是:

Invalid Executable. The executable 'com.app/Frameworks/AgoraRtmKit.framework/AgoraRtmKit' contains bitcode. (90482)

我已经尝试了好几种方法,但都没解决问题:

  • 使用withNoBitcode插件添加ENABLE_BITCODE=NO配置
  • 在自定义的eas.json中设置构建参数
  • 确保使用的是最新版本的eas-cli和Expo SDK

核心问题卡在这儿:在Expo托管工作流里,我根本碰不到嵌入的AgoraRtmKit.framework文件——这个框架本身就带了Bitcode,而我能改的只是项目本身的Bitcode开关,管不到框架内部的设置。

我现在急需以下任意一种解决方案:

  1. 无Bitcode版本的Agora SDK,或者官方给出的发布时间表
  2. 适用于Expo的、能解决AgoraRtmKit.framework Bitcode问题的临时方案
  3. 推荐一个兼容Expo SDK 52的视频通话替代方案,不需要依赖Agora

可能的解决方案

1. 联系Agora官方获取无Bitcode版本

不少开发者反馈,Agora针对部分场景已经提供了无Bitcode的SDK变体,你可以试试这两个途径:

  • 登录Agora开发者后台,查看对应依赖版本的SDK下载选项,有些版本会分带Bitcode和不带Bitcode的安装包
  • 提交Agora技术支持工单,明确说明你的使用场景(Expo托管工作流、SDK 52),请求适配的无Bitcode版本。通常官方会在1-3个工作日内回复,部分情况下能直接提供定制化的框架包

2. Expo托管工作流的临时绕过方案

虽然托管工作流不让直接改原生框架,但可以通过间接方式处理:

  • 自己写一个Expo config-plugins自定义插件,在EAS构建过程中自动移除AgoraRtmKit.framework中的Bitcode。核心逻辑是调用xcodebuild的bitcode_strip工具对框架做处理,然后在app.json/app.config.js中配置这个插件,让构建时自动执行
  • 考虑切换到Expo裸工作流:这虽然会增加一些原生配置的维护成本,但裸工作流允许你直接操作iOS项目的框架文件——你可以手动替换AgoraRtmKit.framework为无Bitcode版本,或者在Xcode中添加构建脚本自动剥离Bitcode

3. 兼容Expo SDK 52的视频通话替代方案

如果暂时卡在Agora的问题上,这些替代方案可以试试:

  • Twilio Video React Native:官方提供了Expo兼容插件,支持视频通话和实时消息,不需要手动处理复杂的原生配置
  • Jitsi Meet:开源的视频会议解决方案,有专门适配Expo的包,支持自托管或云服务,兼容性不错
  • Zoom Video SDK:虽然配置稍复杂,但有Expo插件支持,适合需要企业级功能的场景

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.08 12:00:28