我想知道本机的远程调试器模式是否也可以在真实设备上实现。但它阻止了我的错误页面陈述
这里有趣的事实是,这个URL在我的开发者机器上也不会起作用。
在我的开发者计算机上的浏览器中打开此URL(http://localhost:8081/debugger-proxy?role=client
并运行packager.js将回复:
无法GET / debugger-proxy?role = client
当我关闭远程调试器时,一切都按预期工作。
重现的步骤:
应用程序将从我的本地计算机获取源代码。为了使这项工作,iPhone设备和我的iMac都连接到同一个WiFi。
ReactNative-Application按预期在iPhone上执行。通过摇动手势,我生成了开发人员菜单并选择了“远程调试JS”选项。
现在出现上述错误。
按照running-on-real device中的旁注,我在RCTWebSocketExecutor.m中将主机从localhost更改为我的Mac的IP地址,但这会在获取时导致内部循环。
问题是:
如何在真实设备上使用远程JS调试 -Feature?
更新
经过进一步调查后,我得出的结论是,这可能是一个错误,并在GitHub上打开了以下issue。
答案 0 :(得分:3)
在Chrome浏览器中,我已更改
本地主机:19001 /调试器的用户界面
到
192.168.0.4:19001/debugger-ui
它有效。用您的IP地址替换192.168.0.4。
答案 1 :(得分:1)
在iOS设备上,从react-native/Libraries/WebSocket/RCTWebSocketExecutor.m
打开文件RCTWebSocketExecutor.m,将“ localhost”更改为计算机的IP地址,(don't forget the correct port. eg: 192.168.1.6::8880)
,然后从开发人员菜单中选择“远程调试JS”。 / p>
注意:从您的设备中删除该应用,然后关闭打开的终端 用于创建bundle.js。最后按一下Xcode中的“播放”按钮。
这是来自本机网站的official guide:
答案 2 :(得分:0)
我们在2020年在这里遇到了类似的问题,现在有一个更好的解决方案,它是直接从应用程序更新目标计算机的IP。即使计算机和设备都通过USB连接,也要与计算机和设备保持在同一WiFi上。
现在您应该在计算机上获取调试数据。