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

Xcode13+RN0.65.1在iOS15设备构建后报No bundle URL Present求助

问题根因排查

首先你日志中出现的com.apple.commcenter.coretelephony.xpc报错是iOS15版本的系统级警告,和你遇到的业务报错没有关联,可直接忽略。真正导致No bundle URL Present的原因是日志里的Could not connect to the server http://localhost:8081/status,也就是你的React Native应用无法连接到本地的Metro打包服务,无法获取js bundle资源。


可行解决方案

  • 检查Metro服务状态
    RN 0.65+版本在Xcode 13中经常出现自动拉起Metro服务失败的情况,你可以先在项目根目录手动执行yarn start或npm start,等待终端输出Metro running on http://localhost:8081的提示后,再在Xcode中重新运行项目即可。
  • 配置http访问权限(针对iOS15+)
    iOS15默认限制未加密的http请求访问,你需要打开iOS项目下的Info.plist文件,在NSAppTransportSecurity配置项下将NSAllowsArbitraryLoads的值设置为YES,也可以单独为localhost域名添加http访问例外。
  • 真机运行适配
    如果你使用的是实体iPhone12运行而非模拟器,应用默认访问的localhost指向手机本身而非开发电脑,你需要将项目中bundle加载的地址修改为开发电脑的局域网IP,同时保证手机和电脑连接同一WiFi,关闭电脑防火墙对8081端口的拦截。
  • 清理缓存重试
    如果以上操作都无效,可以依次执行缓存清理操作:
    1. 关闭运行中的Metro终端,删除项目根目录下的node_modules文件夹,重新执行yarn install安装依赖
    2. 进入ios目录执行pod install更新iOS依赖
    3. 在Xcode中按Shift+Command+K清理构建缓存,之后重新运行项目

额外优化(可选)

如果你想过滤掉com.apple.commcenter.coretelephony.xpc这类无用的系统日志,可以在Xcode的Scheme配置中,选择Run->Arguments->Environment Variables,添加变量OS_ACTIVITY_MODE,值设置为disable即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 23:15:05