目標
本文會闡述如何通過使用開發者證書重籤的方式實現對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 後搜索 Clutch進行安裝。
該工具作用是用於脫殼。安裝OpenSSH
直接在Cydia進行搜索即可。
建議參考http://blog.csdn.net/lucky_06/article/details/26396707 使用數據線進行連接獲取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的示意圖:
如需轉載,請列名出處 http://blog.csdn.net/lucky_06/article/details/46954367