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

EAS Expo开发构建成功但iOS生产构建失败

iOS生产构建失败(main.jsbundle缺失)排查方案
  • 补全eas.json的production配置
    你的production配置是空对象,Expo生产构建默认需要生成bundle,空配置可能导致打包流程异常。试试补充必要配置:

    "production": {
      "distribution": "store",
      "ios": {
        "bundleIdentifier": "你的项目包名"
      }
    }
    

    注意:managed workflow下生产构建默认会生成main.jsbundle,但配置缺失容易触发异常。

  • 手动预生成bundle验证
    先本地执行expo export -p ios,生成dist目录下的bundle文件,确认是否能正常生成。如果这一步失败,说明是JS代码打包环节出了问题——比如依赖报错、语法错误,先解决这部分问题再继续构建。
    若bundle生成成功,再尝试本地构建:eas build --profile production --platform ios --local,观察是否还会出现bundle缺失的问题。

  • 清理缓存

    • 删除Xcode派生数据:直接删除/Users/michael/Library/Developer/Xcode/DerivedData/下对应项目的文件夹
    • 清理EAS本地缓存:执行eas build:clear-cache,之后重新发起构建
  • 检查版本兼容性
    Expo 46对应的eas-cli建议使用适配版本,你当前使用的2.8.0版本号达标,但不妨试试更新到最新兼容版:npm install -g eas-cli
    另外,排查项目依赖是否存在冲突,比如部分第三方库在生产构建时无法正常打包。可以删除node_modules和package-lock.json,重新执行npm install重装依赖。

  • 查看完整构建日志
    构建时添加--verbose参数获取详细日志:eas build --profile production --platform ios --local --verbose,重点查看bundle生成阶段的具体错误,比如是否存在打包超时、资源加载失败等情况。

  • 排查自定义metro配置
    如果项目中有自定义的metro.config.js,可能会干扰生产打包流程(比如误禁用了bundle生成)。暂时注释掉自定义配置,使用默认配置测试构建。

内容的提问来源于stack exchange,提问作者Michael Brenndoerfer

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 09:46:00