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

React Native 0.75.3通过Xcode构建iOS真机应用后无法连接Metro bundler,提示No Bundle URL Present

React Native 0.75.3通过Xcode构建iOS真机应用后无法连接Metro bundler,提示No Bundle URL Present

问题描述

我用以下命令新建了一个React Native项目:

npx @react-native-community/cli@latest init AwesomeProject --version 0.75.3

项目环境信息:

  • React Native版本:0.75.3
  • react版本:18.3.1
  • Node.js版本:20.17.0

通过Xcode将应用构建并安装到iPad真机上后,安装成功但无法连接Metro bundler——即使已经运行了npx react-native start,应用启动时还是抛出错误:

No bundle URL present.

Make sure you're running a packager server or have included a .jsbundle file in your application bundle.

错误截图如下:
No Bundle URL Present错误截图

解决方法

我之前也碰到过类似的真机连接问题,给你几个亲测有效的排查和解决步骤:

  • 确保设备与电脑同网,指定Metro监听所有地址
    先关闭当前运行的Metro服务,用以下命令重新启动:

    npx react-native start --host 0.0.0.0
    

    然后摇晃iPad打开开发者菜单,选择「Settings」→「Debug server host & port for device」,输入你的电脑本地IP地址加上:8081(比如192.168.3.10:8081),保存后重启应用。

  • 检查Xcode Debug模式的构建设置
    打开Xcode的项目配置,切换到你的真机target,进入「Build Phases」标签页,找到「Bundle React Native code and images」选项。如果当前是Debug模式,务必确保这个选项没有被勾选——Debug模式下应用应该连接Metro获取代码,而非使用本地打包的jsbundle。

  • 清除项目缓存,重新构建
    依次执行以下命令清理缓存并重置依赖:

    npx react-native clean
    rm -rf node_modules && npm install
    

    完成后重启Metro,再用Xcode重新构建并安装到设备上。

  • 检查Mac防火墙与网络权限
    如果你的Mac是Ventura及以上系统,防火墙可能阻止了Metro和设备的通信。可以暂时关闭防火墙(系统设置→网络→防火墙),或者在防火墙设置里给node和Xcode授权网络访问权限。

  • 重置开发者菜单配置
    摇晃设备打开开发者菜单,选择「Configure Bundler」,确认服务器地址为电脑IP:8081,若有误则修正后重启应用;也可以选择「Reset to Defaults」,再重新设置调试服务器地址。

备注:内容来源于stack exchange,提问作者Praveen kumar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.15 15:45:28