首页 文章

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

提问于
浏览
32

我在我的iPad上 Safari 8.0.6iOS 8.3 ,在我的 Mac (10.10.3) 上通过Web Inspector进行调试时,连接仍然断开连接(我不能再次远程刷新和检查) .

8 回答

  • 4

    现在解决方案:

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

    如果您确实需要通过Safari Web Inspector使用真实设备进行调试,则有时会/某些情况下有效 . 也许你可以帮我们调查一下 .


    EDIT: 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


    EDIT: 2018.09.19

    Short: 有时似乎工作,这里有一些错误信息 .

    enter image description here

    enter image description here

    enter image description here

    (我不确切地知道我是否在这里匹配错误消息的正确顺序)

    webinspectord: XPC Connection Failed for Application: 1797 - PID:1797 - <private>

    这个用于手机:

    enter image description here

    Error calling containermanager_sandbox_iterate_containers: 2
    
    Auth timeout setAuthenticationStatus: failed!
    
    Got xpc error message in ReportMemoryException client connection: Connection invalid`
    

    EDIT: 2018.08.09

    我使用macOS High Sierra(10.13.6)和最新的iPhone 6 Plus(iOS)(11.4.1)和Safari:版本11.1.2(13605.3.8)将我的mac更新到iMAC .

    现在没有提到的解决方案适用于真实设备 .

    因为我必须调试一些东西,这只发生在已部署的应用程序上,而不是在Safari浏览器中,而是在iPhone模拟器中 - you could debug with Safari Web Inspector in the iPhone Simulator.


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

    这将有效:

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

    野生动物园:11.1(12605.1.33.1.2)

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

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


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

    在您的设备上转到:

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

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


    步骤3.连接您的设备

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

    在OS X Safari上转到:

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

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


    快乐调试!

    现在,Web检查器保持连接状态 .

  • 1

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

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

  • 0

    这里列出的大多数答案都适用于我一段时间,但几个小时后它们也停止工作,我的safari Web控制台再次在打开时保持断开状态 .

    其他一些对我有用的选择:

    Option 1

    Safari on MacOS -> Develop -> Empty Cache

    Option 2

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

  • 2

    这仅适用于物理设备 . 如果设备的电池已满,Safari可以强制断开物理设备 . ("Full battery? Well then, let's just disconnect you as you don't need to charge anymore -- and there goes your debugging session too...")

    您需要在 Develop > [device] 中选择 Connect via Network ,然后将调试器附加到要调试的页面 . 如果您在Safari中没有 Develop 菜单,请转到 Safari > Preferences > Advanced 并选择 Show Develop menu in menu bar .

    enter image description here

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

    如果发生故障,请断开您的iOS设备 . 进入您的iOS设备,进入设置> Safari> Web Inspector,然后将其关闭然后重新打开 . 强行退出Safari . 重新插入iOS设备并再次启动Safari并通过Safari>开发菜单重新连接iOS设备 .

  • 3

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

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

    • 检查ios中的Web检查器是否已启用 - 已知升级后可以关闭此设置,请检入设置> safari> advanced> Web检查器 .

    • 检查你所连接的端口 - 我已将我的插头插入便宜的集线器/通过苹果键盘/显示器集线器,发现直接进入mac工作得更好 .

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

    • 其他值得注意的观察 - 其他人评论说,确保在Safari中启用cookie,启用私有模式并在Xcode打开时进行尝试会影响可靠性对此,虽然我自己没有看到这个,但可能有助于其他人尝试 .

  • 20

    我不能说我有一个解决方案,但朝着正确的方向迈出了一步 .

    我尝试使用ios-webkit-debug-proxy,因此我可以使用Chrome Dev Tools而不是Safari Dev Tools .

    注意,为了使其工作,我可以将我的iOS升级到最新的11.4.1和MacOS 10.13.65,然后重新安装最新版本:

    brew update
    brew install ios-webkit-debug-proxy
    brew reinstall --HEAD libimobiledevice
    brew reinstall -s ios-webkit-debug-proxy
    
    ios_webkit_debug_proxy
    

    运行 ios_webkit_debug_proxy 后,我能够尝试通过 chrome://inspect 进行连接,并立即再次断开连接:

    Listing devices on :9221
    Connected :9222 to Chet's Phone (6a028994cf281be807bf80c5557c3f2eb3fbb8b0)
    Invalid packet header 0x1ffffff91ffffffa0ffffff9d == .... == 26321053
    Disconnected :9222 from Chet's Phone (6a028994cf281be807bf80c5557c3f2eb3fbb8b0)
    

    但是,我们有一个线索! Invalid packet header . 在某处听起来像是一个较低级别的bug . 不知道在哪里提交这个,但是...

  • 1

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

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

  • 0

    关闭XCode首先帮助了我 .

相关问题