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

Expo iOS预构建生产构建遇bundle缺失问题,求非EAS解决方案

Expo iOS生产包无JS Bundle问题的解决方法(无需EAS)
  • 检查项目配置文件
    打开app.json或app.config.js,确认:

    • ios.bundleIdentifier已正确配置
    • expo.ios下没有禁用bundle嵌入的特殊配置
    • expo.packagerOpts.dev设置为false(生产环境必须关闭开发模式)
  • 手动生成JS Bundle及资源
    执行以下命令直接生成iOS所需的bundle文件,若项目入口为app.js则替换index.js:

    npx react-native bundle --platform ios --entry-file index.js --bundle-output ios/main.jsbundle --assets-dest ios
    
  • 配置Xcode确保bundle被嵌入

    1. 打开ios目录下的.xcworkspace文件
    2. 如果main.jsbundle未出现在项目导航中,手动将其拖入项目,勾选"Copy items if needed"并关联到目标target
    3. 进入Build Phases > Copy Bundle Resources,确认main.jsbundle和生成的assets文件夹已在列表内
    4. 检查Info.plist,确保没有错误的URL配置导致无法定位bundle
  • 清理缓存后重新构建

    • 清理Expo缓存:npx expo start --clear
    • 清理Xcode构建缓存:按下Cmd+Shift+K(或通过Xcode菜单Product > Clean Build Folder操作)
    • 重置依赖与prebuild文件:
      rm -rf node_modules && npm install
      npx expo prebuild --platform ios --clean
      
  • 修正export命令用法
    执行export时指定输出目录并检查终端日志:

    npx expo export -p ios --output-dir ./dist
    

    查看终端输出是否有生成bundle的相关日志,若存在错误根据提示修复。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 20:43:17