1. 程式人生 > >【手把手教學】開啟iOS app除錯模式

【手把手教學】開啟iOS app除錯模式

目標

本文會闡述如何通過使用開發者證書重籤的方式實現對iOS app開啟除錯模式

除錯模式開啟後可以實現以下功能:
1. 重籤後的ipa可以安裝在未越獄的iOS裝置上
2. 在未越獄的iOS 8.x裝置上都可以通過PP助手等工具訪問其程式的文件目錄
3. 使用XCode對應用進行Debug
4. 對其應用內嵌的UIWebView/WKWebView 可使用Web Insepctor除錯其網頁
5. 還有什麼好處請自我猜想……

工具要求

  1. 一臺已越獄的iOS裝置
  2. 開發者證書
  3. 可執行OS X 裝置

前期準備

  1. 安裝Clutch
    在Cydia中新增源 http://cydia.iphonecake.com

    後搜尋 Clutch進行安裝。
    該工具作用是用於脫殼。

  2. 獲取makeDebugApp需要用到的相關指令碼:

    git clone https://github.com/zqxiaojin/makeDebugApp.git

  3. 獲取開發者證書籤名的相關資訊
    相關的資訊在每次編譯時都會有顯示,這裡我們使用一個最簡單的iOS App作為例子進行獲取。

    1. check out簡單的iOS App工程

      git clone https://github.com/zqxiaojin/SimpleApp.git

      使用XCode開啟並且選擇裝置Target進行一次編譯。

    2. 獲取Code Sign Identifier
      在XCode介面按照如下截圖複製紅框內的文字內容:
      獲取Code Sign Identifier

      例項中,獲取到的文字內容為“CDFBB763F193123456789A473B2867B84DB747A8”。
      建議先找個位置記下來。

    3. 獲取 embedded.mobileprovision
      在打開了的SimpleApp工程中,按照下面的圖示獲取其embedded.mobileprovision檔案。(當然也可以直接從Apple Developer下載,具體方法請自行尋找)
      開啟編譯好的app目錄:
      開啟編譯好的app目錄
      在Finder中,在其選單中選擇“Show Package Contents”以瀏覽其內容:
      顯示app內容
      獲取embedded.mobileprovision檔案:
      embedded.mobileprovision檔案
      將embedded.mobileprovision檔案複製到先前 check out下來的makeDebugApp的目錄下。

    準備工作做好後,我們的在makeDebugApp目錄狀況如下:
    第一階段

開始

這裡以UC瀏覽器作為例子,我們的目標是為其開啟Web Inspector模式。

  1. 越獄裝置上,在AppStore下載並安裝好UC瀏覽器
  2. ssh 到 越獄裝置上,執行如下shell命令:

    root# Clutch

    (如果你是第一次執行Clutch,那麼會有一些初始化操作,使用預設值即可。)
    執行後Clutch會列出裝置中安裝的所有App的執行檔案的名字,如下圖:
    Clutch執行結果
    UC瀏覽器的執行檔案為:UCWEB
    每個app的執行檔案的程式名都不相同,如微信則為 WeChat

  3. 繼續在裝置的shell下,執行如下命令:

    root# Clutch UCWEB
    成功後,得到結果如下圖:
    Clutch 成功
    紅框部分即為生成的脫殼後的IPA

  4. 使用PP助手,將IPA複製到makeDebugApp資料夾,如下圖:
    這裡寫圖片描述

  5. 至此準備工作完成,makeDebugApp目錄如下:
    這裡寫圖片描述

  6. 執行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的示意圖:
這裡寫圖片描述