使用 v8.2 模拟器,Cmd+D总是显示以下错误信息
[RCTLog][tid:0x7fcc2bf4cb90][RCTRootView.m:68]>WebSocket debugger is not available. Did you forget to include RCTWebSocketExecutor?
使用 v8.2 模拟器,Cmd+D总是显示以下错误信息
[RCTLog][tid:0x7fcc2bf4cb90][RCTRootView.m:68]>WebSocket debugger is not available. Did you forget to include RCTWebSocketExecutor?
最后,在尝试了许多不同的方法来解决这个问题后,我找到了根本原因。
为了使用 Chrome DevTool 进行调试,iOS 项目需要导入库RCTWebSocketDebugger.xcodeproj
和libicucore.dylib
.
在 react-native 示例中,2048
, Movies
,TicTacToe
不会导入这两个库。这就是为什么它总是显示错误消息“WebSocket 调试器不可用。您是否忘记包含 RCTWebSocketExecutor?” 在控制台中。
+
> Add Other...
><REACT_NATIVE_ROOT>/Libraries/RCTWebSocketDebugger/RCTWebSocketDebugger.xcodeproj
+
> 搜索RCTWebSocketDebugger.a
>Add
+
> 搜索libicucore.dylib
>Add
http://localhost:8081/debugger-ui
可能类似于这个问题:
https://github.com/facebook/react-native/issues/311
并且在这里也提到:
https://github.com/facebook/react-native/issues/297
看起来这可能是一个糟糕的错误消息,因为 React Native 无法连接到 Chrome 调试器。第一个链接有一个可能的修复:
In RCTWebSocketExecutor.m:
- (instancetype)init
{
return [self initWithURL:[NSURL URLWithString:@"http://localhost:8081/debugger-proxy"]];
}
这可以防止远程调试。如果我手动将其更改为我计算机的 IP,我可以使用 Chrome 检查器进行调试。
如果可行,请归功于 https://github.com/ckknight :)