【手把手教學】開啟iOS app除錯模式
目標
本文會闡述如何通過使用開發者證書重籤的方式實現對iOS app開啟除錯模式
除錯模式開啟後可以實現以下功能:
1. 重籤後的ipa可以安裝在未越獄的iOS裝置上
2. 在未越獄的iOS 8.x裝置上都可以通過PP助手等工具訪問其程式的文件目錄
3. 使用XCode對應用進行Debug
4. 對其應用內嵌的UIWebView/WKWebView 可使用Web Insepctor除錯其網頁
5. 還有什麼好處請自我猜想……
工具要求
- 一臺已越獄的iOS裝置
- 開發者證書
- 可執行OS X 裝置
前期準備
安裝Clutch
在Cydia中新增源 http://cydia.iphonecake.com
該工具作用是用於脫殼。獲取makeDebugApp需要用到的相關指令碼:
git clone https://github.com/zqxiaojin/makeDebugApp.git
獲取開發者證書籤名的相關資訊
相關的資訊在每次編譯時都會有顯示,這裡我們使用一個最簡單的iOS App作為例子進行獲取。check out簡單的iOS App工程
git clone https://github.com/zqxiaojin/SimpleApp.git
使用XCode開啟並且選擇裝置Target進行一次編譯。獲取Code Sign Identifier
在XCode介面按照如下截圖複製紅框內的文字內容:
例項中,獲取到的文字內容為“CDFBB763F193123456789A473B2867B84DB747A8”。
建議先找個位置記下來。獲取 embedded.mobileprovision
在打開了的SimpleApp工程中,按照下面的圖示獲取其embedded.mobileprovision檔案。(當然也可以直接從Apple Developer下載,具體方法請自行尋找)
開啟編譯好的app目錄:
在Finder中,在其選單中選擇“Show Package Contents”以瀏覽其內容:
獲取embedded.mobileprovision檔案:
將embedded.mobileprovision檔案複製到先前 check out下來的makeDebugApp的目錄下。
準備工作做好後,我們的在makeDebugApp目錄狀況如下:
開始
這裡以UC瀏覽器作為例子,我們的目標是為其開啟Web Inspector模式。
- 越獄裝置上,在AppStore下載並安裝好UC瀏覽器
ssh 到 越獄裝置上,執行如下shell命令:
root# Clutch
(如果你是第一次執行Clutch,那麼會有一些初始化操作,使用預設值即可。)
執行後Clutch會列出裝置中安裝的所有App的執行檔案的名字,如下圖:
UC瀏覽器的執行檔案為:UCWEB
每個app的執行檔案的程式名都不相同,如微信則為 WeChat繼續在裝置的shell下,執行如下命令:
root# Clutch UCWEB
成功後,得到結果如下圖:
紅框部分即為生成的脫殼後的IPA使用PP助手,將IPA複製到makeDebugApp資料夾,如下圖:
至此準備工作完成,makeDebugApp目錄如下:
執行makeDebugApp指令碼,進行重籤:
用法:
$ python makeDebugApp.py [ipa路徑] [Code Sign Identifier]
以上述的UC瀏覽器為例:
$ python makeDebugApp.py UC瀏覽器-v9.3.0.326-Jin-\(Clutch-1.4.7\).ipa CDFBB763F193123456789A473B2867B84DB747A8
完成
至此,重籤工作完成。
由於使用的證書是你本機的開發者證書,故生成的IPA可以安裝到關聯的裝置上(非越獄裝置也可安裝)。
最後補上一張在微信內開啟公眾號“一塊去旅行”進行Web Inspector的示意圖: