归档iOS构建时遇报错:main.jsbundle文件不存在问题求助
解决React Native归档iOS包时main.jsbundle不存在的问题
实用解决步骤:
手动生成并添加main.jsbundle到项目
- 在项目根目录执行命令生成bundle文件:
(若入口文件是index.tsx,替换npx react-native bundle --entry-file index.js --platform ios --dev false --bundle-output ios/main.jsbundle --assets-dest iosindex.js为index.tsx即可) - 打开Xcode,将生成的
main.jsbundle拖到iOS项目目录下,勾选"Copy items if needed"并关联到主target。 - 进入Xcode的
Build Phases,确认Copy Bundle Resources列表里包含main.jsbundle,没有的话手动添加。
- 在项目根目录执行命令生成bundle文件:
检查Xcode构建脚本顺序
- 选中项目主target,进入
Build Phases标签。 - 确认存在
Bundle React Native code and images脚本阶段:- 若无,新增
Run Script阶段,填入脚本内容:
根据项目目录结构调整export NODE_BINARY=node ../node_modules/react-native/scripts/react-native-xcode.sh../层级,确保脚本路径正确。 - 若有,检查该脚本是否在
Copy Bundle Resources阶段之前执行,顺序不对会导致bundle未生成就被打包。
- 若无,新增
- 选中项目主target,进入
清理缓存后重新构建
- 清理React Native缓存:
npx react-native clean - 清理Xcode缓存:
- 点击Xcode顶部菜单
Product->Clean Build Folder(快捷键Cmd+Shift+K) - 手动删除DerivedData目录:通过Xcode偏好设置
Preferences->Locations找到路径,删除对应项目的缓存文件夹。
- 点击Xcode顶部菜单
- 清理React Native缓存:
升级React Native到稳定版本
部分旧版本RN存在归档时bundle生成的bug,可尝试升级到最新稳定patch版本,升级前记得备份项目文件。
内容的提问来源于stack exchange,提问作者Abdul haseeb
相关产品推荐
相关产品推荐

