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

如何将expo export生成的bundle放入expo prebuild创建的XCode项目?

解决Expo预构建iOS项目JS Bundle嵌入问题

核心方案:通过Xcode构建阶段自动同步Bundle,而非手动复制

手动复制文件容易遗漏更新,用构建阶段能保证每次生成新Bundle后自动嵌入到应用包中,步骤如下:

  1. 生成iOS适配的JS Bundle及资源
    执行以下命令生成针对iOS优化的Bundle文件,会自动存到dist/ios目录:

    expo export -p ios
    

    生成的关键文件包括:main.jsbundle(核心JS代码)和assets(静态资源文件夹)

  2. 配置Xcode构建阶段

    • 打开iOS项目的工作区文件:ios/[你的项目名称].xcworkspace
    • 选中主Target,切换到Build Phases标签
    • 点击左上角+按钮,选择New Copy Files Phase,命名为Copy Expo Bundle & Assets
    • 在Destination下拉菜单选择Resources
    • 点击+按钮,添加dist/ios/main.jsbundle和dist/ios/assets文件夹,勾选Copy items if needed,并选择Create folder references(不要选Create groups)
  3. 验证并构建

    • 切换到Build Settings标签,搜索Bundle Resources,确认main.jsbundle和assets已在资源列表中
    • 执行Cmd+Shift+K清理项目,再重新构建运行

注意事项

  • 避免手动复制文件到iOS目录,否则每次更新Bundle都需重复操作,极易出错
  • 若使用默认expo export命令生成的dist目录,也可按上述步骤添加,但推荐用-p ios参数生成iOS专属Bundle,减少兼容性问题
  • 若仍报错,检查Xcode中Copy Files Phase的执行顺序(需在Compile Sources之后),或确认Bundle文件路径无误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 03:10:57