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

Expo EAS iOS构建持续失败,原因不明求技术支持

iOS构建失败排查方案(Expo + React Native)

核心报错分析

日志显示三个关键问题,其中main.jsbundle缺失是导致构建终止的直接原因,另外两个方法冲突是前置警告:

  1. 重复方法冲突:
    • +moduleName 在ExpoBridgeModule的分类与类中重复定义
    • +UIDatePickerMode: 在react-native-date-picker的分类与其他分类存在冲突(即使代码中移除引用,Pod依赖可能残留)
  2. 直接失败原因:main.jsbundle 文件不存在,导致打包脚本执行失败

分步解决步骤

1. 彻底清理DatePicker依赖残留

  • 执行命令清理缓存与依赖:
    rm -rf node_modules
    rm package-lock.json yarn.lock
    npm install
    npx pod-install ios
    
  • 检查package.json和Podfile.lock,确认react-native-date-picker已完全移除;若Podfile仍有相关条目,手动删除后重新执行npx pod-install ios

2. 修复ExpoModulesCore重复方法问题

  • 升级Expo依赖到兼容版本:
    npx expo upgrade
    
  • 清理Expo构建缓存后重试:
    eas build --clear-cache --platform ios
    

3. 解决main.jsbundle缺失问题

  • 手动预先生成bundle文件(项目根目录执行):
    npx react-native bundle --entry-file index.js --platform ios --dev false --bundle-output ios/main.jsbundle --assets-dest ios/assets
    
  • 重新执行构建:
    eas build --platform ios
    
  • 可选:在eas.json中配置构建前自动生成bundle,避免重复操作:
    {
      "build": {
        "production": {
          "ios": {
            "prebuildCommand": "npx react-native bundle --entry-file index.js --platform ios --dev false --bundle-output ios/main.jsbundle --assets-dest ios/assets"
          }
        }
      }
    }
    

4. 处理EXConstants脚本警告(可选)

在Xcode中找到EXConstants目标下的[CP-User] Generate app.config for prebuilt Constants.manifest脚本阶段,取消勾选Based on dependency analysis,或添加输出文件路径(如$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH))


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 05:53:25