React Native iOS调试物理设备WebSocket连接失败

时间:2016-09-18 16:47:50

标签: ios objective-c iphone xcode react-native

WebSocket连接失败并显示错误错误Domain = NSPOSIXErrorDomain Code = 61在尝试在物理iOS设备上运行react-native时抛出。它在运行模拟器上运行。

这不是重复的帖子。我已经阅读了所有其他类似问题的堆栈溢出帖子,并尝试了他们的建议,没有一个解决了这个问题(有些已经过时,实际上会导致其他问题)。

  1. React packager正在port 8081
  2. 上运行

    enter image description here

    1. 我在同一个wifi网络上,没有任何防火墙问题阻止与开发服务器通信。我可以在设备上打开safari并通过IP主机IP地址加载开发服务器。
    2. enter image description here

      1. 我已使用watchman watch-del-all

      2. 清除了守望者
      3. 尝试更改RCTWebSocketExecutor.m以使用我的主机的IP地址而不是localhost不起作用,并阻止加载预捆绑文件。不要这样做。这是来自react-native网站的旧文档的过时推荐。

      4. 试过跑步清洁&在XCode中再次构建,重新启动XCode,重新启动计算机,从设备中删除应用程序并重新安装。

      5. jsCodelocation更新为以下内容也不起作用。

      6. jsCodeLocation = [NSURL URLWithString:@"http://xx.xx.110.78:8081/index.ios.bundle?platform=ios&dev=true"];
        

        我没有让调试重新开始工作的想法...我可能不得不在反应原生团队的github上打开一个问题,但可能会有一些我遗漏的东西。

3 个答案:

答案 0 :(得分:0)

打包器是否也在<END> Building Dependency Graph之后停止?当我的Mac和我的iPhone通过家庭wifi网络连接时,我遇到了这个问题。在Mac和iPhone之间建立直接的WiFi连接有效,但这并不是一个好的解决方法

答案 1 :(得分:0)

升级到react-native 0.33(从0.31)神奇修复了这个问题。

答案 2 :(得分:-1)

使用RN 0.33创建一个全新的项目,然后在模拟器上运行它,看看您是否可以在Chrome上打开开发工具。

如果您可以打开开发工具,则无需编辑任何内容。只需关闭Chrome并在您的设备上启动应用,...