Expo bare workflow是否支持OTA更新?能否使用Appcenter Codepush?
问题1:Bare Workflow 下是否支持 Expo OTA 更新
支持,你遇到的 Expo.Updates 为 undefined 问题是 eject 操作后未手动配置 expo-updates 模块导致的,裸工作流不会自动继承托管工作流的默认配置,按以下步骤配置即可恢复OTA功能:
- 首先安装依赖包:
npm install expo-updates或yarn add expo-updates - 执行原生依赖关联:iOS端运行
npx pod-install,Android端依赖会自动关联 - 在项目原生配置文件(iOS的Info.plist、Android的AndroidManifest.xml)中补全你的Expo项目ID、更新服务地址等参数
- 配置完成后重新编译打包原生应用,即可正常调用Expo.Updates相关API,OTA更新逻辑和托管工作流完全一致
问题2:Expo Bare Workflow 环境下能否使用 App Center CodePush
可以正常使用,Expo裸工作流对CodePush没有额外限制,两种热更新方案二选一即可:
- 若选择使用CodePush,无需再配置expo-updates模块,直接按照CodePush接入流程配置iOS、Android端的原生参数即可
- 不要在同一版本的原生包中同时接入两套热更新方案,避免出现JS包加载冲突的异常
- CodePush在Expo裸工作流中的使用逻辑和普通React Native裸项目完全一致,没有功能差异
内容的提问来源于stack exchange,提问作者Dinuka Salwathura
相关产品推荐
相关产品推荐

