使用Chrome DevToolsdebuggingiOS 6 + 7 Mobile Safari
iOS 6内置支持远程debugging( 1分钟截屏 )。 它与新的Safari Web Inspector,这似乎是WebKit督察1岁的叉很好。 它错过了一些function,如JS编辑和WebSocket框架检查。
Safari的Web检查器使用WebKit远程debugging协议。 但是,Safari不使用TCP / HTTP作为传输层,因此与Chrome不兼容。
说蒂莫西·海切尔(又名氙),苹果公司的雇员
- Safari使用什么传输层?
- 我可以从这个神秘的传输层到HTTP的代理,使其与Chrome开发工具的工作?
iOS WebKitdebugging代理项目启用此项。
要开始使用自制软件安装:
brew install ios-webkit-debug-proxy
运行模拟器(如果运行模拟器):
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
运行代理:
ios_webkit_debug_proxy
检查错误
在设备上查看错误消息:
无法连接到locking。 退出:没有这样的文件或目录。 无法附加检查器ios_webkit_debug_proxy
然后检查设备是否有这样的提示(iOS 7示例:)
信任当前连接的计算机?
select“信任”并尝试重新运行代理:
ios_webkit_debug_proxy
打开默认devtools
然后打开http://localhost:9221
默认情况下,DevTools是旧版本(从2012年3月左右开始,Chrome 18)。
尝试现代devtools
由于协议的变化,现代DevTools前端的部分可能无法完全工作。 你可以尝试打开
chrome-devtools://devtools/bundled/inspector.html?ws=localhost:9222/devtools/page/2
port
和page
值是从http://localhost:9221
看到的值。 再次,这可能确实是越野车。
在ios-webkit-debug-proxy项目页面上阅读更多文档。
更新:这也适用于iOS7 。 更新 :通过帕特里克添加新的devtools前端说明.. 更新 :改变devtools.html为inspector.html 为Chrome 45 ,和新的ws
通过Scheintod黑客。
根据https://github.com/andydavies/node-iosdriver ,
Safari使用与Chrome相同的debugging命令,但通过RPC封装为二进制plists,而不是WebSockets上的JSON。
所以,是的,可以写一个代理。
我通过查看Safari连接到MobileSafari检查器时正在build立的TCP连接,发现它已连接到名为webinspectord
的进程并使用Googlesearch来发现此线程 :
# pgrep -lf /Applications/Safari.app 33170 /Applications/Safari.app/Contents/MacOS/Safari -psn_0_21144617 # lsof -p 33170 | grep TCP Safari 33170 ryan 16u IPv6 0x799d5f43b472a241 0t0 TCP localhost:54892->localhost:27753 (ESTABLISHED) # lsof -i :27753 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME launchd 371 ryan 42u IPv6 0x799d5f43b472aa01 0t0 TCP localhost:27753 (LISTEN) Safari 33170 ryan 16u IPv6 0x799d5f43b472a241 0t0 TCP localhost:54892->localhost:27753 (ESTABLISHED) webinspec 33182 ryan 6u IPv6 0x799d5f43b472aa01 0t0 TCP localhost:27753 (LISTEN) webinspec 33182 ryan 7u IPv6 0x799d5f43b181a621 0t0 TCP localhost:27753->localhost:54892 (ESTABLISHED) # ps p 33182 PID TT STAT TIME COMMAND 33182 ?? S 0:00.28 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.1.sdk/usr/libexec/webinspectord
- 如果右键单击被禁用,如何检查Chrome中的元素?
- 如何使用chrome web inspector查看hover代码
- Chrome控制台显示“导航到http:// localhost …”
- debugging打印样式表的build议?
- Custom.css已停止使用32.0.1700.76 Google Chrome浏览器更新
- 如何更改chrome封装的应用程序ID或者为什么我们需要manifest.json中的关键字段?
- 与Firebug / Chrome控制台中的require.js模块交互?
- 在Chrome开发者工具中,== $ 0(double等于零美元)是什么意思?
- 如何使用angular-cli webpackdebuggingangular2应用程序?