Safari Web检查程序保持断开连接

时间:2015-07-06 17:23:09

标签: debugging safari yosemite safari-web-inspector

我在iPad上使用 iOS 8.3 Safari 8.0.6 ,同时通过我的 Mac(10.10.3)上的Web Inspector进行调试< / strong>,连接断开连接(断开连接时我看不到开发菜单下的设备名称)但是如果我退出safari然后重新启动就可以恢复,然后我可以再次远程刷新和检查。

13 个答案:

答案 0 :(得分:32)

有几件事要尝试:

1。在Xcode Simulator上测试:

  

在Xcode中打开iPhone模拟器,并使用Safari Web Inspector进行调试。

Sidenote :也许您需要下载Safari Technology Preview

2。重置您设备上的位置和隐私设置。

  

设置&gt;一般&gt;重置&gt;重置位置&amp;隐私

3。在真实设备上调试

使用此配置,它似乎现在可以正常工作。

iPhone X,iOS版本12.1.3 macOS Mojave版本10.14.2(18C54) Safari版本12.0.2(14606.3.4)

对于其他设备/版本,请进一步阅读(也许您可以减少构建尺寸)。

编辑:2018.09.20

@Chet发现,Web Inspector一直在断开太大的JS文件和地图文件

https://stackoverflow.com/a/52338231/4641479

Github上的问题:

https://github.com/google/ios-webkit-debug-proxy/issues/275

https://github.com/google/ios-webkit-debug-proxy/issues/274

我可以在具有生产版本(1.8 MB + 2.4 MB文件)的真实设备上确认这一点,Safari Web Inspector始终保持连接状态。

enter image description here

因为开发版本不是:

enter image description here

在我的网络检查员很少工作之前,经常只是停止工作 - 但仍然是开放的。在Safari更新后,Web检查员会立即打开和关闭。如果遇到这样的问题..

这将有效:

步骤1.获取最新的Safari浏览器

Safari:11.1(12605.1.33.1.2)

https://developer.apple.com/safari/download

macOS Sierra和OS X El Capitan(我认为也支持macOS high Sierra)

也许您需要下载Safari Technology Preview

步骤2.重置您的位置和隐私设置

在您的设备上转到:

  

设置&gt;一般&gt;重置&gt;重置位置&amp;隐私

来源:https://forums.developer.apple.com/thread/87181

步骤3.连接设备

在OS X上打开Safari 如果您已使用USB电缆连接iPhone设备,请先断开连接。 现在插上它。

在OS X Safari上转到:

  

开发&gt;设备名称&gt;申请开发

现在,您的手机上有一个许可问题。选择信任,现在您可以选择设备Safari和调试中的打开选项卡。

快乐调试!

现在,网络检查员保持连接状态。

答案 1 :(得分:9)

这里列出的大多数答案对我来说都工作了一段时间,但几个小时后,它们也停止工作,并且我的Safari Web控制台在打开时再次保持断开状态。

其他对我有用的选项:

选项1-来自Safari的空缓存

Safari on MacOS -> Develop -> Empty Cache

选项2-清除受信任的计算机

On iOS Device -> Settings -> Developer -> Clear Trusted Computers,然后重新连接USB电缆,然后尝试再次调试

选项3-使调试器变得愚蠢(截至2019年1月14日)

此解决方案已经使用了很长时间。由于这是与iOS和Mac之间的连接有关的问题,因此我打开了我的 Console 应用程序并仅选择了iPhone。 (这可以使我的iOS设备保持与Mac的连接)

然后在不断开连接的情况下在Safari上打开开发人员控制台就可以了。

答案 2 :(得分:6)

听起来很奇怪,但由于电池已完全触发断开连接,可能会发生这种情况:https://forums.developer.apple.com/thread/92290

  

当Iphone的电池电量充足时,似乎会断开连接。 (所以我们暂时打开闪光灯和相机以检查电池时杀死电池......)

答案 3 :(得分:4)

这仅对于物理设备是必需的。如果设备的电池已满,则可以通过Safari强制断开物理设备的连接。 (“充满电吗?那么,让我们断开连接,因为您不再需要充电-调试会话也开始了……”)

您将要在Develop > [device]中选择通过网络连接,然后将调试器附加到要调试的页面。如果您在Safari中没有 Develop 菜单,请转到Safari > Preferences > Advanced并选择在菜单栏中显示Develop菜单

enter image description here

如果这不起作用,您可以先尝试通过App Store升级OS / Safari。

如果仍然无法解决,请断开您的iOS设备。进入iOS设备的“设置”>“ Safari”>“ Web Inspector”,然后将其关闭然后再打开。强制退出Safari。重新插入iOS设备,然后再次启动Safari,然后通过Safari>“开发”菜单重新连接iOS设备。

答案 4 :(得分:4)

iPhone上有很多后台应用程序在运行吗?杀死他们,然后重试。

我们向WWDC的Apple开发人员展示了此问题,他们怀疑这是由于iPhone的内存限制所致。果然,杀死我们大多数后台应用程序可以为我们解决问题。

答案 5 :(得分:1)

这困扰了我很长一段时间,行为非常不一致,这里有一些我发现帮助的事情,我还写了一篇关于here的博客文章。

  1. 更新mac safari和ios - 我发现在最新的两个版本之后它开始为我工作,可能是Safari之间的调试不兼容。

  2. 检查ios中的Web检查器是否已启用 - 众所周知,升级后可以关闭此设置,检入设置&gt; safari&gt;高级&gt;网络检查员。

  3. 检查您所连接的端口 - 我已经将我的插头插入廉价的集线器/通过苹果键盘/显示器集线器,发现直接进入Mac可以更好地工作。

  4. 您使用的是优质电缆吗? - 我发现更好的质量/官方电缆没有磨损,在调试时具有更好的可靠性。

  5. 其他值得注意的观察 - 其他人评论说,确保在Safari中启用cookie,启用私有模式并在Xcode打开时尝试,这会影响其可靠性,尽管我自己也没有看到它可以帮助别人尝试。

答案 6 :(得分:1)

MacOS Mojave / Catalina解决方案

对我来说,这个问题是在我升级到新的macOS Mojave之后立即开始的,在上面某个地方可能已经提到过,但是对我来说,我只需要下载专为Mojave构建的新“ Safari技术预览”应用。

Safari下载页面

https://developer.apple.com/safari/download/

直接下载Mojave

https://secure-appldnld.apple.com/STP/041-71285-20190604-6d0dcb17-07e5-40a0-b418-dba732cefe64/SafariTechnologyPreview.dmg

答案 7 :(得分:0)

最新的Safari技术预览似乎已经解决了它。

https://developer.apple.com/safari/technology-preview/

答案 8 :(得分:0)

关闭XCode首先对我有所帮助。

答案 9 :(得分:0)

我知道已经有很多答案了,但是我想发布,因为它们暂时都没有为我工作。但是,我手机的电池处于“低电量模式” ...但是由于我要为开发插入电源,所以我认为这没什么大不了的。但是,进入手机设置并关闭低电量模式可以解决我的问题。现在,Safari浏览器不会断开连接。

只是想发布它,以防有人在电池电量不足的情况下碰到它。

答案 10 :(得分:0)

对我来说,使用其他适配器和电缆解决了该问题。 每次连接时,它都应像智能手机上的提示一样询问“信任此设备”,否则请问是电缆/适配器问题。

答案 11 :(得分:0)

在iOS设备上使用内容阻止程序(例如1Blocker)时,请确保要调试的域已将其禁用。

禁用1Blocker可以阻止Web Inspector(Mac)打开后立即关闭,并让我恢复工作。

答案 12 :(得分:0)

09-07-2020

在Safari(13.1.1)的最新MacO(Catalina 10.15.5)上仍然存在此问题

离子/电容器的解决方案:

ionic cap run ios -l --external --source-map=false