iOS 6内置支持远程调试(1 minute screencast) . 它适用于新的Safari Web Inspector,它似乎是一个1年前的WebKit Inspector分支 . 它错过了一些功能,如JS编辑和WebSocket框架检查 .
Safari的Web检查器确实使用WebKit远程调试协议 . 但是,Safari不使用TCP / HTTP作为传输层,因此使其与Chrome不兼容 .
says Timothy Hatcher (aka Xenon), Apple employe
-
Safari对传输层使用了什么?
-
我可以从这个神秘的传输层创建一个代理到HTTP,以使其与Chrome DevTools一起使用吗?
2 回答
iOS WebKit Debug Proxy项目启用了此功能 .
要开始使用,请使用自制软件安装:
运行模拟器(如果正在运行模拟器):
运行代理:
检查错误
在设备上查找错误消息:
然后检查设备的提示like this(iOS 7示例:)
选择“信任”并尝试重新运行代理:
打开默认的devtools
然后打开
http://localhost:9221
默认情况下,DevTools是旧版本(大约2012年3月的Chrome 18) .
尝试现代的devtools
由于protocol更改,现代DevTools前端的部件可能无法完全运行 . 你可以尝试打开
其中
port
和page
值是您从http://localhost:9221
看到的值 . 同样,这可能确实是错误的 .在ios-webkit-debug-proxy project page阅读更多文档 .
Update: 这适用于iOS7 as well . Update :通过patrick添加了新的devtools前端说明.. Update :将devtools.html更改为inspector.html for Chrome 45,并通过Scheintod更新了新的
ws
hack .根据https://github.com/andydavies/node-iosdriver,
所以,是的,可以编写代理 .
我通过查看Safari在连接到MobileSafari检查器时所做的TCP连接找到了this thread,发现它连接到一个名为
webinspectord
的进程,并使用Google搜索: