使用Chrome DevTools调试iOS 6 + 7 Mobile Safari

NVI*_*NVI 78 safari mobile-safari web-inspector ios google-chrome-devtools

iOS 6内置支持远程调试(1分钟截屏视频).它适用于新的Safari Web Inspector,它似乎是一个1年前的WebKit Inspector分支.它错过了一些功能,如JS编辑和WebSocket框架检查.

Safari的Web检查器确实使用WebKit远程调试协议.但是,Safari不使用TCP/HTTP作为传输层,因此使其与Chrome不兼容.

苹果公司的Timothy Hatcher(又名Xenon)表示

  • Safari用于传输层的是什么?
  • 我可以从这个神秘的传输层创建代理到HTTP,以使其与Chrome DevTools一起使用吗?

NVI*_*NVI 93

iOS版的WebKit调试代理项目支持这个.

截图

要开始使用,请使用自制软件安装:

brew install ios-webkit-debug-proxy
Run Code Online (Sandbox Code Playgroud)

运行模拟器(如果正在运行模拟器):

SIM_DIR=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer
  "$SIM_DIR/Applications/iPhone Simulator.app/Contents/MacOS/iPhone Simulator" \
  -SimulateApplication \
  $SIM_DIR/SDKs/iPhoneSimulator6.1.sdk/Applications/MobileSafari.app/MobileSafari
Run Code Online (Sandbox Code Playgroud)

运行代理:

ios_webkit_debug_proxy
Run Code Online (Sandbox Code Playgroud)

检查错误

在设备上查找错误消息:

无法连接到锁定.退出:没有这样的文件或目录.无法附加检查器ios_webkit_debug_proxy

然后检查设备是否有这样的提示(iOS 7示例:)

相信当前连接的电脑?

选择"信任"并尝试重新运行代理:

ios_webkit_debug_proxy
Run Code Online (Sandbox Code Playgroud)

打开默认的devtools

然后打开 http://localhost:9221

默认情况下,DevTools是旧版本(大约2012年3月的Chrome 18).

尝试现代的devtools

由于协议更改,现代DevTools前端的部件可能无法完全运行.你可以尝试打开

chrome-devtools://devtools/bundled/inspector.html?ws=localhost:9222/devtools/pag??e/2
Run Code Online (Sandbox Code Playgroud)

其中portpage值是您所看到的值http://localhost:9221.同样,这可能确实是错误的.

ios-webkit-debug-proxy项目页面上阅读更多文档.


更新:这也适用于iOS7.更新:通过patrick添加了新的devtools前端指令.. 更新:将devtools.html更改为适用于Chrome 45的 inspector.html ,以及ws通过Scheintod 的新hack.

  • 无法连接到锁定.退出:没有这样的文件或目录无法附加66c5cb9cc4d362b2aecf208axxxxxxxxxxxxx检查员 (5认同)
  • @ ed1nh0刚刚完成win32端口https://github.com/artygus/ios-webkit-debug-proxy-win32 (4认同)
  • 如果有适合的Windows版本,请各位让我知道.TKS! (3认同)
  • @pppeater是的,最适合iOS6 ..该工具有一些iOS7的问题,我建议使用与Chrome捆绑的最新devtools(仅适用于iOS7) - 它解决了一些问题.但通常"hackish"规则打破样式选项卡 (2认同)
  • 我只能通过`ws`参数来工作.如果你调用`localhost:9222/json`你可以得到一个webservice url,然后像这样添加:`chrome-devtools://devtools/bundled/devtools.html?ws = localhost:9222/devtools/page/2` (2认同)