將XCODE的程式發佈到iOS裝置

以下是我使用的作業環境

  • Mac Lion 10.7.4
  • XCODE 4.3.3
  • iOS5.1 裝置為 iPhone 4

Step 1.製作假驗證

首先在Finder的地方,點選前往 -> 工具程式。

開啟鑰匙圈存取。

選取鑰匙圈存取 -> 憑證輔助程式 -> 製作憑證。

  • 名稱:fake
  • 識別身分類型:自簽根
  • 憑證類型:代碼簽名
    *覆蓋預設值(勾選)

繼續之後會跳出一個對話視窗一樣選取繼續。

  • 序號:121212
  • 有效時間:999

接著一直繼續到最後。

Step 2.修改XCODE讓他可以抓取到我們的製作的假驗證。

開啟應用程式資料夾,找到XCODE,右鍵 -> 顯示套件內容。

依照Contents/Developer/Platforms/iPhoneOS.platform的路徑尋找到Info.plist

  1. Info.plist複製到桌面上開啟,使用cmd+f尋找CODE_SIGN_CONTEST_CLASS,將原本的預設值改為XCCodeSignContext(共有兩個地方要修改)。
  2. RuntimeRequirements -> Classes -> item 0的預設值也改為XCCodeSignContext

ps.這樣總共有三個地方要修改為XCCodeSignContext

修改完後將該檔案貼回原本的地方並且取代掉。

Step 3.修改專案。

接著在你的XCODE專案,點選專案的設定檔PROJECT -> Build Settings -> Code Signing -> Code Signing Identity

將裡面的憑證選取您剛新增的金鑰名稱,這裡使用之前已經建立好的fake code sign,所以會跟前面有所不同!!

建立完之後在編譯專案的右邊,選取我們要發佈的裝置,記得裝置必須先與電腦連接。接著就可以編譯發佈到實體裝置上了。

發佈的時候如果點選App後馬上閃退的話,這時修改一下Scheme

選擇第二個Run XXX.app -> Info -> Debugger -> 選取GDB,最後按下OK,再次重新編譯專案發佈到實體裝置,應該就可以解決閃退的問題了。

參考資料

  1. 如何將Xcode的程式發布到iOS裝置(免年費)
  2. iOS學習_Error launching remote program: failed to get the task for process