无法在 iOS 模拟器中启动 Chrome DevTools

Posted

技术标签:

【中文标题】无法在 iOS 模拟器中启动 Chrome DevTools【英文标题】:Can't launch Chrome DevTools in iOS simulator 【发布时间】:2015-06-01 14:48:07 【问题描述】:

使用v8.2模拟器,Cmd+D总是显示如下错误提示

[RCTLog][tid:0x7fcc2bf4cb90][RCTRootView.m:68]>WebSocket debugger is not available. Did you forget to include RCTWebSocketExecutor?

【问题讨论】:

请参阅"Should questions include “tags” in their titles?",其中的共识是“不,他们不应该”! 谢谢!这是我第一次发布问题。下次我会注意的。 【参考方案1】:

可能类似于这个问题:

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,如果它有效:)

【讨论】:

感谢您的回复。这些问题和我的不一样。我找到了根本原因:) 太棒了!勾选你自己问题的答案,然后其他人就会知道去哪里看!【参考方案2】:

在尝试了很多不同的方法来解决这个问题后,我终于找到了根本原因。

为了使用 Chrome DevTool 调试,ios 项目需要导入库 RCTWebSocketDebugger.xcodeprojlibicucore.dylib

在 react-native 示例中,2048MoviesTicTacToe 不会导入这两个库。这就是为什么它总是显示错误消息“WebSocket 调试器不可用。您是否忘记包含 RCTWebSocketExecutor?”在控制台中。

    + > Add Other... > <REACT_NATIVE_ROOT>/Libraries/RCTWebSocketDebugger/RCTWebSocketDebugger.xcodeproj+ > 搜索RCTWebSocketDebugger.a > Add+ > 搜索libicucore.dylib > Add 在 Xcode 中按 ⌘ + R 运行项目 打开Chrome URL http://localhost:8081/debugger-ui 在 iOS 模拟器中按 ⌘ + D 启用调试

【讨论】:

以上是关于无法在 iOS 模拟器中启动 Chrome DevTools的主要内容,如果未能解决你的问题,请参考以下文章

iOS 启动图像在 Dev 中有效,但在 App Store 版本中无效

React Native:防止远程调试器在 Chrome 中打开

为啥 iOS7 模拟器无法启动或按预期启动...?

Android studio 无法启动安卓模拟器

在 Mac OS 上找不到 /dev/kvm

IOS Dev Stanford Homework #1 计算器,无法启动