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

归档iOS构建时遇报错:main.jsbundle文件不存在问题求助

解决React Native归档iOS包时main.jsbundle不存在的问题

实用解决步骤:

  • 手动生成并添加main.jsbundle到项目

    1. 在项目根目录执行命令生成bundle文件:
      npx react-native bundle --entry-file index.js --platform ios --dev false --bundle-output ios/main.jsbundle --assets-dest ios
      
      (若入口文件是index.tsx,替换index.js为index.tsx即可)
    2. 打开Xcode,将生成的main.jsbundle拖到iOS项目目录下,勾选"Copy items if needed"并关联到主target。
    3. 进入Xcode的Build Phases,确认Copy Bundle Resources列表里包含main.jsbundle,没有的话手动添加。
  • 检查Xcode构建脚本顺序

    1. 选中项目主target,进入Build Phases标签。
    2. 确认存在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未生成就被打包。
  • 清理缓存后重新构建

    1. 清理React Native缓存:
      npx react-native clean
      
    2. 清理Xcode缓存:
      • 点击Xcode顶部菜单Product -> Clean Build Folder(快捷键Cmd+Shift+K)
      • 手动删除DerivedData目录:通过Xcode偏好设置Preferences -> Locations找到路径,删除对应项目的缓存文件夹。
  • 升级React Native到稳定版本
    部分旧版本RN存在归档时bundle生成的bug,可尝试升级到最新稳定patch版本,升级前记得备份项目文件。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 13:57:03