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

Expo裸工作流从Xcode运行时如何用Expo Metro Bundler替代react-native start

Expo bare workflow Xcode运行无法连接Metro Bundler解决方案

expo build:ios 是已废弃的经典云端构建命令,仅用于打包iOS生产包,和本地开发调试场景完全无关,也无法解决你遇到的Metro连接问题,请勿执行该命令。

以下是针对独立裸工作流应用、无需依赖Expo Go的解决方案:

具体操作步骤

  • 第一步:匹配依赖版本
    在项目根目录执行npx expo install,确保所有原生模块版本和当前Expo SDK版本兼容,避免版本不匹配导致的原生逻辑异常。
  • 第二步:手动启动Expo专用Metro服务
    不要依赖Xcode自动拉起Metro,单独开终端窗口执行npx expo start --dev-client,该命令会启动适配裸工作流开发环境的Metro Bundler。
  • 第三步:修正Xcode运行配置
    打开ios目录下的.xcworkspace文件(裸工作流请勿直接打开.xcodeproj文件),依次点击顶部菜单栏 Product > Scheme > Edit Scheme,选中左侧Run选项:
    1. 切换到Info标签,将Build Configuration设置为Debug(Release模式默认不会连接本地Metro)
    2. 勾选「Debug executable」选项
  • 第四步:确认AppDelegate配置正确
    检查ios项目中AppDelegate的bundle地址逻辑,Debug模式下不要硬编码Metro地址,使用Expo默认提供的动态获取逻辑:EXUpdatesAppController.sharedInstance.launchAssetUrl,确保App运行时会自动探测同网段下已启动的Metro服务。
  • 第五步:运行应用
    保持Metro服务窗口不关闭,在Xcode中选择目标模拟器点击运行按钮,应用启动后会自动连接到已启动的Metro服务,所有运行日志会正常输出到Metro终端窗口,同时支持热重载、调试等功能。

额外注意事项

  • 若需要本地打生产包测试,直接在Xcode中将Build Configuration切换为Release后打包即可,不需要调用任何Expo云端构建命令,不会改动现有项目配置。
  • 如果运行时仍提示连接失败,可检查本地防火墙是否禁用了Metro默认的8081端口,或者重启Metro服务后重新运行应用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 17:36:01