我在iPad上使用 iOS 8.3 Safari 8.0.6 ,同时通过我的 Mac(10.10.3)上的Web Inspector进行调试< / strong>,连接断开连接(断开连接时我看不到开发菜单下的设备名称)但是如果我退出safari然后重新启动就可以恢复,然后我可以再次远程刷新和检查。
答案 0 :(得分:32)
有几件事要尝试:
在Xcode中打开iPhone模拟器,并使用Safari Web Inspector进行调试。
Sidenote :也许您需要下载Safari Technology Preview
设置&gt;一般&gt;重置&gt;重置位置&amp;隐私
使用此配置,它似乎现在可以正常工作。
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始终保持连接状态。
因为开发版本不是:
在我的网络检查员很少工作之前,经常只是停止工作 - 但仍然是开放的。在Safari更新后,Web检查员会立即打开和关闭。如果遇到这样的问题..
这将有效:
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
在您的设备上转到:
设置&gt;一般&gt;重置&gt;重置位置&amp;隐私
来源:https://forums.developer.apple.com/thread/87181
在OS X上打开Safari 如果您已使用USB电缆连接iPhone设备,请先断开连接。 现在插上它。
在OS X Safari上转到:
开发&gt;设备名称&gt;申请开发
现在,您的手机上有一个许可问题。选择信任,现在您可以选择设备Safari和调试中的打开选项卡。
现在,网络检查员保持连接状态。
答案 1 :(得分:9)
这里列出的大多数答案对我来说都工作了一段时间,但几个小时后,它们也停止工作,并且我的Safari Web控制台在打开时再次保持断开状态。
其他对我有用的选项:
Safari on MacOS -> Develop -> Empty Cache
On iOS Device -> Settings -> Developer -> Clear Trusted Computers
,然后重新连接USB电缆,然后尝试再次调试
此解决方案已经使用了很长时间。由于这是与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菜单。
如果这不起作用,您可以先尝试通过App Store升级OS / Safari。
如果仍然无法解决,请断开您的iOS设备。进入iOS设备的“设置”>“ Safari”>“ Web Inspector”,然后将其关闭然后再打开。强制退出Safari。重新插入iOS设备,然后再次启动Safari,然后通过Safari>“开发”菜单重新连接iOS设备。
答案 4 :(得分:4)
iPhone上有很多后台应用程序在运行吗?杀死他们,然后重试。
我们向WWDC的Apple开发人员展示了此问题,他们怀疑这是由于iPhone的内存限制所致。果然,杀死我们大多数后台应用程序可以为我们解决问题。
答案 5 :(得分:1)
这困扰了我很长一段时间,行为非常不一致,这里有一些我发现帮助的事情,我还写了一篇关于here的博客文章。
更新mac safari和ios - 我发现在最新的两个版本之后它开始为我工作,可能是Safari之间的调试不兼容。
检查ios中的Web检查器是否已启用 - 众所周知,升级后可以关闭此设置,检入设置&gt; safari&gt;高级&gt;网络检查员。
检查您所连接的端口 - 我已经将我的插头插入廉价的集线器/通过苹果键盘/显示器集线器,发现直接进入Mac可以更好地工作。
您使用的是优质电缆吗? - 我发现更好的质量/官方电缆没有磨损,在调试时具有更好的可靠性。
其他值得注意的观察 - 其他人评论说,确保在Safari中启用cookie,启用私有模式并在Xcode打开时尝试,这会影响其可靠性,尽管我自己也没有看到它可以帮助别人尝试。
答案 6 :(得分:1)
对我来说,这个问题是在我升级到新的macOS Mojave之后立即开始的,在上面某个地方可能已经提到过,但是对我来说,我只需要下载专为Mojave构建的新“ Safari技术预览”应用。
Safari下载页面
https://developer.apple.com/safari/download/
直接下载Mojave
答案 7 :(得分:0)
最新的Safari技术预览似乎已经解决了它。
答案 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