在iPhone中調試,大致上與上文 安卓中的移動頁面調試 相似,區別主要是iOS系統中的一些限制,致使某些工具沒法使用。html
本文基於此,簡要介紹在iPhone中如何調試頁面。ios
最終能夠實如今Mac平臺使用Safari(或結合ios_webkit_dubug_proxy使用Chrome)調試手機中Safari的頁面,結合Charles進行抓包請求斷點,再經過微信ipa包重簽名來調試微信的WKWebViewgit
在Windows中結合Fiddler與ios_webkit_debug_proxy中轉實現Chrome調試手機的Safari瀏覽器github
某些頁面須要設置HOST才能進行訪問,在iPhone上很差設置HOST,因此須要一些代理工具幫助咱們web
除了Windows平臺中經常使用的代理調試工具Fiddler以外,還可使用Mac中的經常使用代理工具 Charleschrome
與上文相似,在iPhone中的WiFi設置裏面,設置代理爲Windows的 ip:host,若是須要訪問HTTPS的頁面還須要設置證書shell
在手機上設置好代理後,訪問頁面時在Charles中統一請求接入便可小程序
當須要進行HTTPS頁面的訪問時,也須要在Mac和iPhone中都設置好證書windows
安裝後可在Mac證書列表中看到xcode
並設置相關的域
根據Charles的提示,手機鏈接代理以後訪問 chls.pro/ssl 安裝證書,再訪問便可
而對於某些須要帳號受權登錄的頁面,涉及到Cookie的模擬登陸,可使用這兩個代理工具進行設置
在Fiddler中能夠按前文安卓的配置
在Charles中也有對應的方法
可使用Chrome的設備模擬來查看頁面
不過對於iPhone的調試,還須要進行真機的頁面查看
通常來講,iPhone中的頁面是在Safari瀏覽器中查看的
微信中的內置瀏覽器是WKWebView內核或 UIWebView ,WKWebView的版本依賴於IOS的版本。其中 UIWebViewer 只是系統瀏覽器的一部分組建,功能不全或有所 限制
因此某些狀況下可直接在手機的Safari瀏覽器進行查看調試,某些狀況仍是少不了在微信內置瀏覽器中進行
這個方法須要結合Mac的Safari瀏覽器使用,經過Mac與iPhone進行鏈接來調試
手機上訪問某個頁面,選取進行調試,將會打開Safari的開發者工具,能夠看到熟悉的幾個面板
除了審查元素查看日誌以外,還可進行腳本的斷點調試,查看網絡請求等操做。
不過功能相對Chrome DevTools來講,相對簡單了些,對於簡單的頁面可直接使用
對於高版本的iOS系統(如iPhone 7),進行遠程調試的Mac主機的系統版本也有限制,並不是任何Mac和iPhone之間都能進行調試
此外,這種遠程調試僅支持調試手機的Safari瀏覽器,沒法調試微信的內置瀏覽器
參考前文
參考前文
與前文相似,這兩種方法都能進行基礎的頁面信息查看,不支持HTTPS,使用spy-debugger可支持HTTPS
參考前文,設置好相應的HTTPS證書
Mac上的safari調試功能不夠好,並且不能調試微信中的頁面,使用weinre只能簡單地調試微信頁面,沒法進行腳本斷點等高級功能
最好的辦法莫過於讓iPhone可Chrome Devtools進行鏈接,充分利用好的調試工具與現有的平臺,進行調試。
ios-webkit-debug-proxy 支持多平臺,這麼來講咱們能夠不借助Mac主機實現調試iPhone的需求。不過配置過程稍微有些繁瑣
在前面install前面加上參數是由於brew的update太慢了,手動設置成不須要update
另外,能夠看到報錯了,在這裏設置權限便可
在手機打開某個頁面,而後訪問 localhost:9221 ,便可進行調試
或者之間在chrome中輸入 chrome://inspect 也可看到相應信息
美中不足仍是沒法檢測微信中的頁面
在windows中配置相對麻煩了些,首先須要安裝powershell(win10中已經自帶),而後安裝 scoop ,再安裝這個插件
一樣地,訪問相應的頁面
或者使用Chrome自身的DevTools來調試,便可實如今Window中調試手機Safari頁面(然而仍是不支持微信內置的)
要調試微信內置的webview,就須要對其進行重簽名打包, 讓iOS以爲咱們是微信這個APP的開發者(蘋果的限制太多了)
相關步驟:
在現有證書基礎上(若是沒有證書須要本身設置)
1. 下載 IPAPatch ,解壓。
能夠看到以下文件信息
2. 下載越獄版的微信ipa(儘可能經過正規渠道獲取,也可直接在PP助手下載,下載的時候不要鏈接手機)
ipa是iOS的應用程序文件包,相似安卓中的apk,正常版本的帶有加密信息,打包後會出問題,越獄版已經去殼,能夠簽入咱們的證書
3. 將 IPAPatch文件夾中的 /Assets/app.ipa 替換成這個微信 ipa
4. 用XCode打開 /IPAPatch.xcodeproj
5. 設置 一個新的 BundleID,選用AppleID Team,設置Code Signing,選擇真機 target,而後運行安裝便可
遇到報錯信息就按提示進行解決
可能遇到的問題有:
no matching provisioning profiles found 確認是否配置了證書,簡單的操做能夠直接按提示進行fixed
Code signing is required for product type 'Framework' in 不要忘了設置Framework中的簽名
Xcode: failed to get the task for process 打開應用是會伴有閃退現象。 簽名須要使用開發版(iOS Developer),不要使用發佈版(iOS Distribution),ipa包需使用越獄版
Xcode 「Device Locked」 When iPhone is unlocked 記得在手機上選擇信任電腦
could not find developer disk image 低版本的XCode不包含新版iOS的系統依賴,須要更新XCode爲最新版,或者直接下載對應的包,放到XCode的包目錄中
安裝成功後一直停留在啓動畫面 多是XCode開啓了調試斷點功能,取消便可
安裝以後原有微信應用打不開了,若是使用不恰當的ipa包,會有意外的反作用,因此得謹慎選擇ipa包
安裝成功後,便可打開新的微信使用
登錄後,訪問相關頁面,就能夠調試webview了
方法同上,可在Mac上使用Safari來調試內置瀏覽器的頁面,公衆號,小程序等
或者,直接使用咱們的windows系統,開啓 ios_webkit_debug_proxy 後,在Chrome中調試便可