【发布时间】:2017-12-29 02:03:41
【问题描述】:
我正在使用 Safari Web Inspector 远程调试我正在构建的 Cordova 应用程序。以前这就像一个魅力,但现在我遇到了一个问题。启动检查器后,几秒钟后,网络检查器似乎与设备断开连接。检查器仍处于打开状态,但检查器不会更新,并且当将鼠标悬停在检查器中时,设备上的元素将不再突出显示(这在最初的几秒钟内有效)。通过关闭检查器并再次启动它,我可以让它再次运行几秒钟。
我尝试使用 Chrome 和 ios_webkit_debug_proxy 进行调试,但不会断开连接。但是,这还有其他问题,使其成为不可行的解决方案。
我已尝试使用 Safari Technology Preview (11.0 R35) 以及当前稳定版本的 Safari (10.1.2),但两者都出现了问题。我也试过在我的电脑上切换闪电电缆和 USB 端口,这没有任何区别。
当检查员似乎断开连接时,我发现记录了以下错误(使用控制台应用程序):
RWIServiceLockdownConnection: Disconnecting because we failed to read a message from webinspectord. This could mean almost anything.
这似乎与 Cordova 有关,因为当我检查常规页面 Mobile Safari 页面时不会发生错误。
什么可能导致这种情况,我该如何解决?
【问题讨论】:
-
你在你的 javascript 中使用 web worker 吗?如果是这样,这是一个已知的 Safari 问题。
-
@Joerg 不,我没有,所以这应该不是问题!
-
我遇到了同样的问题。我的解决方案是我需要打开 Xcode。然后设备保持连接。也许对你有帮助。
-
您是否有任何本机代码调用 .js,例如在计时器或其他任何东西上?在 chrome 上调试时看到奇怪的问题,这让我想起了。当原生调用调用 .js 时,无论调试器正在做什么都会被扔掉,然后事情就继续前进。
-
这发生在我使用 iOS 11.3.1 的 iPhone 6 上。我在 iPhone 的控制台中看到:
EXC_RESOURCE -> webinspectord[1927] exceeded mem limit: ActiveSoft 20 MB (non-fatal) ... 106227.678 memorystatus: killing_highwater_process pid 1927 [webinspectord] (highwater 14) - memorystatus_available_pages: 30853。不过不知道该怎么办。