借助ios-webkit-debug-proxy,使用Chrome DevTool调试iOS设备的webView

1 iOS WebKit Debug Proxy

  • ios_webkit_debug_proxy(又名iwdp)通过websocket连接代理来自usbmuxd守护进程的请求,允许开发人员在真实和模拟的iOS设备上向MobileSafari和UIWebViews发送命令。

  • appium 依赖此工具进行webview控件的操作

  • github:https://github.com/google/ios-webkit-debug-proxy

  • usbmuxd:【A socket daemon to multiplex connections from and to iOS devices】
    Mac上的一个守护进服务,这个服务主要用于在USB协议上实现多路TCP连接,将USB通信抽象为TCP通信。苹果的iTunes, XCode,都直接或者间接地用到了这个服务。
    那么问题来了,如何让iDevice通过苹果的数据线和mac通信?其实不止是mac,只要pc或Linux上提供usbmuxd服务,就可以和iDevice通信,通过TCP。

2 Installation

【安装时会遇到很多坑,这部分后续慢慢完善】

On a MacOS, it's easiest to install with homebrew:
brew install ios-webkit-debug-proxy
On Windows, it's easiest to install with scoop:
scoop bucket add extras
scoop install ios-webkit-debug-proxy
On Linux (or MacOS):
sudo apt-get install autoconf automake libusb-dev libusb-1.0-0-dev libplist-dev libplist++-dev usbmuxd libtool libimobiledevice-dev

git clone https://github.com/google/ios-webkit-debug-proxy.git
cd ios-webkit-debug-proxy

./autogen.sh
make
sudo make install

3 Usage

  • ios safari 设置: 设置 --> Safari浏览器 --> 高级


    Safari设置
  • mac中启动iwdp
$ ios_webkit_debug_proxy -f chrome-devtools://devtools/bundled/inspector.html
启动成功
  • 在ios设备上,打开safari,访问一个网页,例如 https://www.suning.com

  • 在Mac上用Chrome访问 localhost:9221


    image.png
  • 点击localhost:9222


    image.png
  • 右击 https://www.suning.com并复制连接地址,粘贴到地址栏访问

  • 此时便可以用chrome的dev tool来调试webView

你可能感兴趣的:(借助ios-webkit-debug-proxy,使用Chrome DevTool调试iOS设备的webView)