Debugging SafariWebInspector不断断开连接

Debugging SafariWebInspector不断断开连接,debugging,safari,osx-yosemite,safari-web-inspector,Debugging,Safari,Osx Yosemite,Safari Web Inspector,我在iPad上安装了iOS 8.3版Safari 8.0.6,通过Mac(10.10.3)上的Web Inspector进行调试时,连接不断断开(断开连接时,我看不到“开发”菜单下的设备名称)但如果我退出safari,然后重新启动,我可以恢复,然后我可以再次刷新和远程检查 最近的Safari技术预览版似乎为我解决了这个问题 这让我很长一段时间以来行为不一致,这里有一些我发现有帮助的东西,我还为此写了一篇博文 更新mac safari和ios-我发现在这两个版本的最新版本开始对我起作用后,safa

我在iPad上安装了iOS 8.3版Safari 8.0.6,通过Mac(10.10.3)上的Web Inspector进行调试时,连接不断断开(断开连接时,我看不到“开发”菜单下的设备名称)但如果我退出safari,然后重新启动,我可以恢复,然后我可以再次刷新和远程检查

最近的Safari技术预览版似乎为我解决了这个问题


这让我很长一段时间以来行为不一致,这里有一些我发现有帮助的东西,我还为此写了一篇博文

  • 更新mac safari和ios-我发现在这两个版本的最新版本开始对我起作用后,safari和ios之间可能存在调试不兼容

  • 检查ios中的web inspector是否已启用-已知此设置在升级后可以关闭,请检查设置>safari>高级>web inspector

  • 检查你连接的端口——我已经将我的端口插入了一个便宜的集线器/通过苹果键盘/显示器集线器,并发现直接进入mac电脑效果更好

  • 您使用的是高质量的电缆吗我发现,在调试时,质量更好、未磨损的官方电缆具有更好的可靠性

  • 其他值得注意的观察-其他人评论说,确保在safari中启用Cookie、启用私有模式以及在Xcode打开时进行尝试都会影响此功能的可靠性,尽管我自己没有看到过这一点,但这可能会帮助其他人尝试


  • 有几件事可以尝试:

    1.在Xcode模拟器上测试: 在Xcode中打开iPhone模拟器,并使用Safari Web Inspector在那里进行调试

    旁注:也许您需要下载

    2.重置设备上的位置和隐私设置。
    设置>常规>重置>重置位置和隐私

    3.在真实设备上调试 使用这种配置,它现在似乎可以正常工作

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

    编辑2019.08.13

    设置->Safari->高级->检查是否打开了Webinformation

    它突然被关闭,我无法通过网络检查器连接。打开后,它工作了

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


    编辑:2018.09.20

    @Chet发现,Web检查器一直在断开连接以查找过大的JS文件和地图文件

    关于Github的问题:

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

    因为对于开发建设而言,它不是:


    以前,我的网络检查员很少工作,经常只是停止工作——但仍然是开放的。safari更新后,web inspector会立即打开和关闭。如果你遇到这样的问题

    这将有助于:

    第一步。获取最新的Safari浏览器 狩猎:11.1(12605.1.33.1.2)

    macOS Sierra和OS X El Capitan(我假设也支持macOS high Sierra)

    也许你需要下载


    第二步。重置您的位置和隐私设置 在您的设备上,转到:


    设置>常规>重置>重置位置和隐私

    资料来源:


    第三步。连接您的设备 在OSX上打开Safari 如果您使用usb电缆连接iPhone设备,请先断开连接。 现在把它插上

    在OS X Safari上,转到:

    开发>设备名称>申请开发

    现在在你的手机上有一个许可问题。选择“信任”,现在您可以选择设备safari和debug上的“打开”选项卡


    调试快乐!
    现在web inspector保持连接。

    听起来很奇怪,但这可能是因为电池已满,触发断开:

    断开连接似乎发生在Iphone电池充满时。(因此,目前我们打开闪光灯和摄像头,以便在检查时切断电池…)

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

    您需要在
    开发>[设备]
    中选择通过网络连接,然后将调试器连接到要调试的页面。如果您没有Safari中的开发菜单,请转到
    Safari>首选项>高级
    ,然后选择菜单栏中的显示开发菜单

    如果这不起作用,您可以尝试先通过应用商店升级您的OS/Safari

    如果情况仍然不稳定,请断开iOS设备的连接。进入您的iOS设备,进入“设置”>“Safari”>“Web Inspector”,将其关闭,然后再打开。强迫退出狩猎。重新插入iOS设备并再次启动Safari,然后通过Safari>开发菜单重新连接iOS设备。

    工作解决方案(自2020年3月24日起) 好吧,经过这么多的尝试和打开数千篇博客帖子来找出一个解决方案,我成功地让它工作,没有一个失败的案例

    对我来说,这一直是我的Ionic+Cordova应用程序的一个问题

    当我运行一个简单的Cordova或Ionic应用程序时,当我看到这个问题(Safari断开连接)不存在时,我的潜意识开始思考这个问题。然后突然,我尝试了另一件事,它成功了

    基本上,Safari web inspector会在任何文件的大小过大(不确定限制)时断开连接。大概
    brew update
    brew install ios-webkit-debug-proxy
    brew reinstall --HEAD libimobiledevice
    brew reinstall -s ios-webkit-debug-proxy
    
    ios_webkit_debug_proxy
    
    Listing devices on :9221
    Connected :9222 to Chet's Phone (6a028994cf281be807bf80c5557c3f2eb3fbb8b0)
    Invalid packet header 0x1ffffff91ffffffa0ffffff9d == .... == 26321053
    Disconnected :9222 from Chet's Phone (6a028994cf281be807bf80c5557c3f2eb3fbb8b0)
    
    ionic cap run ios -l --external --source-map=false