使用eas build -p ios构建iOS应用时fastlane阶段失败求助
解决iOS EAS构建
main.jsbundle缺失及启动崩溃问题 修复main.jsbundle缺失的无Xcode环境方案
- 手动生成JS bundle并指定路径:
在项目根目录执行以下命令,强制生成bundle文件到iOS目录:
完成后重新运行npx react-native bundle --entry-file index.js --platform ios --dev false --bundle-output ios/main.jsbundle --assets-dest ios/assetseas build -p ios,确保构建过程能读取到生成好的bundle。 - 校验
eas.json构建配置:
检查build节点下的iOS配置,确认是否包含清理预构建的命令,比如:
避免旧缓存干扰bundle生成流程。"ios": { "prebuildCommand": "npx expo prebuild --clean" }
解决--clear-cache后启动崩溃的调试方法
- 解析崩溃日志:
重点查看日志中Thread 0的堆栈信息,常见崩溃原因包括:main.jsbundle路径配置错误,App启动时无法加载;- 原生依赖未正确安装(如Pods未同步);
Info.plist缺失必要权限配置,触发启动异常。
- 交互式构建调试:
运行eas build -p ios --interactive进入交互式模式,全程监控fastlane执行步骤,重点排查bundle install、react-native bundle环节的报错,定位具体故障点。 - 本地预构建验证:
执行npx expo prebuild --platform ios生成iOS原生项目,检查ios目录下是否存在main.jsbundle和assets文件夹;再运行pod install --project-directory=ios验证依赖安装状态,提前在本地排查问题。
额外排查项
- 确认CLI版本:
执行expo --version和eas --version,确保使用稳定版本,避免版本兼容性问题导致bundle生成失败。 - 检查
.gitignore:
确认ios/main.jsbundle和ios/assets未被误加入忽略列表,否则构建时无法提交这些关键文件。
内容的提问来源于stack exchange,提问作者MouseWarrior
相关产品推荐
相关产品推荐

