在做iOS的h5页面的时候,肯定会需要去做webview调试来进行代码调试,而iOS webview调试需要区分真机和模拟器,因为具体的实现原理不一样的,模拟器使用 remote debugger,可以直接通过safari远程调试,而真机使用 ios-webkit-debugger-proxy去远程调试的。
下面具体聊下真机的webview调试的基本原理和实践。
注意,测试包必须要使用develop证书打包,才可以进行真机调试。
原理:
- 原理(http://blog.youkuaiyun.com/whackw/article/details/45207551):
- 首先了解远程调试协议:
- Chrome DevTools是一个调试工具,被集成在chrome浏览器(但是是一个独立的web应用程序);
- 通过远程调试协议(浏览器内核起了一个WebSocket服务),将DevTools和浏览器内核建立连接进行数据交互
- ios-webkit-debug-proxy扮演的角色:
- 因为无法通过tcp和真机直接联系,所以无法直接采用 remote debugger方式进行调试,所以必须要借助ios-webkit-debug-proxy来进行代理桥接
- 结构图如下:
- *
模拟器:
没使用过,暂时