本机错误: 连接到 http://localhost:8081/debugger-proxy?role=client 超时

我运行 react-native run-ios命令和我的应用程序显示3秒之前显示这一点。我运行在 ios 模拟器

enter image description here

Js: 76连接到 超时 http://localhost:8081/debugger-proxy?role=client 运行节点代理? 如果您在设备上运行,请检查是否 在 RCTWebSocketExecutor.m中有正确的 IP 地址。

53477 次浏览

不知怎么的,我删除了 iOS 主屏上模拟器中的项目应用程序,让它在不创建新项目的情况下工作。现在好了。

这似乎正在发生在我身上,因为我已经重新启动了本地反应程序包,而我仍然有一个 Chrome 调试器打开,这是附加到以前的包装器/模拟器实例。

关闭调试器 Chrome 标签并再次尝试 run-ios似乎解决了这个问题,没有任何重启或其他的欺骗。

我经常遇到这种情况。通常,当我使用远程调试器进行开发时,我会保存解码类型的错误。

试着重新装弹... 如果这还不能解决问题的话: 然后停止远程调试,然后刷新。这将修复它,但现在您失去了您的调试器。再来一次。 Crlt + cmd + z。这次开始远程调试,然后再次刷新。你的项目应该可以回来了。

这对我来说很有用,但是它超级烦人和耗时。我希望有人有更好的方法。

对于远程调试,您的两个设备必须连接到同一个 wifi (网络)。

这也发生在我身上。我不知怎么用重启修好了... 想想看。我猜想 Metro Bundler 无法发射,因为端口8081已经被另一个进程占用。重新启动后,我再次运行 react-native run-ios,这次模拟器正确启动,没有出现错误。

提醒你一下,这是在一个全新的项目中发生在我身上的。

对我来说,我用的是不同的网络,而不是手机。没有 SIM 卡要求,我只需要确保我是在同一个网络(我们有工作和客人网络在这里)。在 RN 的文档中有一些注释,你可以签出(中间有一个粉红色的框,代理问题我们都遇到过) :

Http://facebook.github.io/react-native/docs/running-on-device.html

我在 iOS 上面临着同样的问题。

下面的技巧对我很有效:

  • Xcode 的公开项目。
  • 转到 Product-> Scheme-> EditScheme-> Run。
  • 环境变量单击 +标志。
  • 添加值为 disable的标志 OS_ACTIVITY_MODE
  • 从 Xcode 运行应用程序(在这个关闭包之前)

希望这能帮到别人。

在发布版本构建后,我忘记切换回使用索引文件而不是 jsbundle 时,出现了这个错误。

是的

JsCodeLocation = [[ NSBundlemainBundle ] URLForResource:@“ main”withExtension:@“ jsbundle”] ;

而不是

JsCodeLocation = [[[ RCTBundleURLProvider sharedSettings ] jsBundleURLForBundleRoot:@“ index”falbackResource: nil ] ;

切换到索引文件并再次构建,它工作了。

我做了很多尝试,最后通过将 NSAllowsArbitraryLoads添加到 info.plist 来修复它。

<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
<key>NSExceptionDomains</key>
<dict>
<key>localhost</key>
<dict>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
</dict>
</dict>
</dict>

我得到了同样的错误,虽然它是一样的网络。

从你的设备中删除应用程序并重新构建它。将工作。

我固定添加一个脚本在“捆绑反应本地代码和图像”构建阶段标签的主要目标。我只是简单地添加了 export DISABLE_XIP=NOTHANKS

enter image description here

问题是真正的设备试图连接到我在 xip.io 域下的 IP

我认为在 xCode 项目中添加自定义映像资产时,这个脚本是必要的,但是您可以在 Report 导航器选项卡中检查 ip 的 URL 是否错误。 enter image description here

我的装置 反应: 16.3.1, 本地反应: 2.0 原生反应: 0.55.4 XCode 9.4.1

这里是原始的关于 xip.io 的本地反应文档(疑难解答章节) Https://facebook.github.io/react-native/docs/running-on-device

这里禁用 XIP 的可能性。 Https://github.com/facebook/metro/commit/079dcaed990abb6754c03113362e4f537cd32a24

这里是我找到的试用这个解决方案的提示 Https://github.com/facebook/react-native/issues/12786

#if DEBUG
jsCodeLocation = [NSURL URLWithString:@"http://192.168.11.21:8081/index.bundle?platform=ios&dev=true"];
#else
#warning "PRODUCTION DEVICE"
jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil];
#endif

你可以从这个链接找到你的 IP 地址 Https://kb.wisc.edu/page.php?id=6526

对我来说,这发生在我试图调试一个真正的设备时。问题是我的电脑和我真正的设备不在同一个 WiFi 上。

对我来说,这很有效:

  • 停止远程 js 调试。
  • 在浏览器上关闭远程 js 调试器页面。
  • 运行 React 本机调试器。
  • ctrl+t键,键入 React Native pakager port并确认。
  • 在模拟器上按 ctrl+M和活动远程 js 调试。

可以出发了!

如果你得到:

已连接另一个调试器

这听起来可能有点傻,但是别忘了检查一下后台的 Chrome 窗口,它可能是“另一个调试器”。

当你点击“开始 JS 调试”,反应本机打开一个新的 Chrome 窗口与调试器。如果你在 Mac OS X 上打开了多个 Chrome 窗口(不是标签) ,你不会看到任何视觉上的迹象表明有不止一个窗口,所以你可能正在看前台窗口,“另一个调试器已经连接”,并没有意识到另一个调试器是在后台的 Chrome 窗口。

这发生在我身上是因为我通过一个有 俘虏传送门的 WiFi 网络连接(也就是一个弹出窗口,需要你在连接到互联网之前填写一些信息)。

请确保您是通过无线网络连接,没有俘虏门户。 甚至你手机上的个人热点也会起作用!

下面是我从未读过的参考文献,花了我不少时间:

如果您有任何问题,请确保您的 Mac 和设备在同一个网络上,并且可以互相联系。许多带有专用门户的开放无线网络配置为防止设备到达网络上的其他设备。在这种情况下,您可以使用您的设备的个人热点功能。

Https://facebook.github.io/react-native/docs/running-on-device#troubleshooting

对我来说,上述方法似乎都不管用。我尝试关闭连接,重新加载包,停止并运行 npm 重新启动,但是没有成功。 对我来说,最终起作用的是在重新启动之前清除 npm 缓存:

npm start --clear-cache

在此之后,我重新加载了包,并且正确地附加了调试器。

从模拟器或真正的设备删除应用程序和重建项目。这为我工作。

正在处理 Mac。
我通过启用“互联网共享”解决了这个问题。
- 进入设定-> 分享
- 透过「 USB 10/100/1000局域网」共用你的连线
- 电脑使用: “ Wi-fi”
- 检查“互联网共享”-> 创建你的网络
在你的 iPhone 连接到新的网络
- 重新装填地铁和 xcode

这是发生在我身上的事情,我正在用我的手机为模拟器进行开发。我不得不摇晃我的实际手机,并按下远程调试选项,这加载了一个新的 http://localhost:19001/debugger-ui/页面在我的浏览器与活动调试器。

IOS14的更新:

enter image description here

(图片来自 https://www.iphonetricks.org/ios-14-local-network-privacy-feature/)

在 iOS14上,当你第一次启动你的应用时,iOS 会请求你允许扫描本地网络。您需要允许否则应用程序将无法连接到您的 Mac 上的远程调试器。

  1. 打开 /etc/hosts
  2. 检查他们是否存在
127.0.0.1 localhost
::1       localhost

如果没有,加上他们,然后 yarn ios再次。 如果他们真的存在,对不起,我也无能为力

只是想提一下,当你通过 RN 在 iOS 上安装一个新的应用程序时,你的设备会问你一些关于如何连接 WiFi 等设备的问题。我一定是点错了东西,陷入了那种状态。删除我的设备上的应用程序,然后重新安装(通过 RN)带来的对话框,我可以接受它。

我注释了/private/etc/hosts 中的所有行,以解决一些 VPN 问题,但是对于 IOS 响应本机调试器来说,似乎需要附加这些主机条目:

127.0.0.1 localhost
255.255.255.255 broadcasthost
::1             localhost

在我的情况下,我的 IP 地址改变了,我指向我的 iphone 的旧 IP 地址。

2022年更新:

我试图在一个物理设备中运行。

  1. 我删除了 podfile.lock并运行 pod deintegrate
  2. 从物理和模拟器设备中删除应用程序。
  3. 检查我的手机和电脑是否在同一个无线网络上。
  4. 如果在调试或发布模式下运行,请签入 XCode。

然后一切都很顺利。

我是在测试离子模拟器

  1. 模拟器开启装置
  2. 开放式开发人员设置
  3. 允许任何域打开并且它开始工作