Linux调试ios沙发浏览器应用

AIGC by:通议

linux调试ios-safari

全文概述

本文介绍了如何在Linux环境下调试运行在iOS设备上Safari浏览器中的PWA web应用,重点讲解了所需的工具和安装步骤。首先,介绍了iOS WebKit Debug Proxy的作用及其实现原理,强调其作为连接iOS设备与桌面浏览器进行远程调试的关键工具。随后,详细说明了在Linux系统上安装iOS WebKit Debug Proxy的步骤,包括依赖项的安装和仓库的克隆及其构建过程。接着,转向介绍另一关键工具——ios-safari-remote-debug-kit,该工具用于简化与iOS设备的连接和调试流程。文中详细叙述了该工具的安装过程、所需依赖以及如何启动并使用它来进行iOS Safari浏览器的调试。最后,针对可能遇到的问题提供了相应的解决方法,确保读者能够顺利完成iOS应用的调试工作。整个指南旨在为开发者提供一个简单易懂的流程,以帮助他们在没有Mac环境下仍能有效地进行iOS应用的调试工作。


简介

在开发 PWA web app 的时候,需要调试 ios 浏览器上的环境,这个时候需要使用 ios-safari-remote-debug-kit 工具辅助。

需要工具:


安装 ios-webkit-debug-proxy

首先需要安装 ios-webkit-debug-proxy,iOS WebKit Debug Proxy(简称 ios_webkit_debug_proxy)是一个允许你通过桌面浏览器远程调试连接到你的计算机的 iOS 设备上的网页和Web视图的工具。它提供了一个类似于Chrome DevTools的界面,可以用来检查、调试运行在iOS Safari或UIWebView/WKWebView中的页面。

Linux 安装

# 依赖
sudo apt-get install autoconf automake libusb-dev libusb-1.0-0-dev libplist-dev libtool libssl-dev

# idevice_id
sudo apt install libimobiledevice6 libimobiledevice-dev ifuse
sudo apt install libimobiledevice-utils

克隆仓库 ios-webkit-debug-proxy

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

./autogen.sh
make
sudo make install

安装 ios-safari-remote-debug-kit

依赖

  1. ios-webkit-debug-proxy
  2. Node.js
  3. Chrome
  4. Git

克隆仓库 ios-safari-remote-debug-kit
安装工具箱。

git clone https://github.com/HimbeersaftLP/ios-safari-remote-debug-kit.git
cd ios-safari-remote-debug-kit/src

./generate.sh

generate.sh 会自动下载 webkit 浏览器引擎 到 WebKit 目录, 里面包括 web检查器UI WebInspectorUI

iphone 需要安装 Web Inspector App。

开始调试

使用数据线连接手机与电脑。然后进入src目录运行:

cd ios-safari-remote-debug-kit/src

./start.sh

执行命令后有如下输出:

Entering script directory /home/jgan/Software/中心代码/Js-Github/ios-safari-remote-debug-kit/src
Running ios-webkit-debug-proxy...

====================================================================================
Will try to launch a web server on http://localhost:8080
You can then open http://localhost:8080/Main.html?ws=localhost:9222/devtools/page/1
in a Chromium or WebKit based browser to start debugging.
Press Ctrl+C to exit.
====================================================================================

Searching web server
/usr/bin/python3
Found Python 3, using it to serve the WebInspector
Listing devices on :9221
No device found, is it plugged in?
Serving HTTP on ::1 port 8080 (http://[::1]:8080/) ...

http://localhost:8080/Main.html?ws=localhost:9222/devtools/page/1 这个链接就可以访问到 ios safari 浏览器开发者控制台。

常见问题

打开控制台后自动关闭,或者无法访问的手机浏览器的控制台数据?

Ctrl+c关闭 ios-safari-remote-debug-kit/src/start.sh,浏览器关闭网页后,重新打开网页。再重新运行 ios-safari-remote-debug-kit/src/start.sh

总结

在没有Mac电脑的情况下可以通过两个工具进行 ios safari 调试,两个工具分别是 ios-safari-remote-debug-kitios-webkit-debug-proxy