在 Linux 對 iPhone 上的 Safari 除錯
/ 閱讀時間 3 分鐘
目次
因為上一篇文章的問題,我在網路上搜尋如何從 Linux 對 iPhone 手機上的 Safari 瀏覽器進行除錯,找到了參考資料的這篇文章,試了有效,所以分享出來。
蘋果官方只支援用 Mac 對 iPhone 上的 Safari 除錯,如果要在其他作業系統的電腦上除錯的話,要使用 ios-safari-remote-debug-kit
。
在開始之前,要先確定 usbmuxd
跟 ios-webkit-debug-proxy
安裝了沒有。ios-webkit-debug-proxy
在 Arch Linux 不是官方維護的套件,而是在 AUR 上。
再來確認 usbmuxd
是否正在運作,可以用 systemctl status usbmuxd
確認。確認完後,將 iPhone 接到電腦,輸入 idevice_id -l
指令有沒有什麼輸出結果,有的話就可以繼續下去。
複製 ios-safari-remote-debug-kit
的 GitHub repository 到電腦。在 src
資料夾裡有副檔名是 .ps1
的 powershell script 跟副檔名是 .sh
的 shell script,請依照電腦的作業系統選用對應的 script。
我是用 Linux,所以在 src
資料夾下執行 ./generate.sh
,執行中會要求你選擇 iOS 版本:
...Select iOS version for InspectorBackendCommands.jsChoose iOS version (possible options: 13.0, 13.4, 14.0, 14.5, 15.0, 15.4, 16.0, 16.4, 17.0, 17.2, 17.4, 18.0, 18.2, 18.4) Default: latest (18.4):
我的 iPhone 卡在 15.8.3 升不上去,就選擇最接近的 15.4 吧。
執行完成後,如果剛剛把 iPhone 的傳輸線拔掉,記得接回去。接著執行 ./start.sh
,成功會看到 Connected :9222 to iPhone 7
的字樣,到 http://localhost:9222/
會看到簡陋的網頁,顯示出你可以做檢查的網頁清單:
Inspectable pages for iPhone 7:
1. ... 2. ... 3. ...
記住你想要檢查的網頁對應的編號,在 Chromium 系的瀏覽器開啟 http://localhost:8080/Main.html?ws=localhost:9222/devtools/page/[編號]
,成功的話可以看到開發人員工具,這樣就可以開始對網頁除錯了。
在這篇文章,我只有依照下面參考資料的文章對其中的重點重新描述一次。如果遇到問題或是想瞭解更多資訊,請參見: