打包iOS應用程序

如果想要將做的iOS應用程序裝到自己的iOS設備上測試、或者裝在別人的iOS設備上,或者想發佈到App Store裏,先要給應用簽名。簽名就要有證書,這就需要申請證書的過程了。

把自己的應用程序裝到設備中,主要有以下幾種方式:

① 把iOS設備與電腦連起來,這樣在Xcode的左上角就可以選擇這個設備,之後直接點擊Run,程序就被裝在這個iOS設備了。這個主要用於在真機上測試程序。前提是Xcode中添加了包含這個設備信息的Profile。

② 使用Xcode將應用程序以Ad Hoc方式打包,導出ipa文件,然後用iTunes等工具將應用安裝到iOS設備中。這種方式所用的Profile文件要是Ad Hoc類型,並且包含指定設備的信息。導出的ipa文件也只能安裝到指定的設備中。

③ 將應用程序發佈到App Store上,待蘋果審覈通過後,其他人就可以下載安裝了。

主要講解第二種:

1、先要註冊一個iOS開發者賬號,不再詳述。

2、運行瀏覽器,登錄https://developer.apple.com/,並進入iOS Dev Center:

打包iOS應用程序

進入後,單擊右上角的Log in,輸入開發者賬號和密碼。

3、驗證成功後,在頁面的右邊會出現如下選項:

打包iOS應用程序

單擊最上面的iOS Provisioning Portal,我們申請證書、管理證書、管理設備等操作就是在這個頁面中進行的。如下圖:

打包iOS應用程序

4、運行電腦中的“鑰匙串訪問”應用程序(英文名:Keychain Access),它一般在“實用工具”目錄下。這個程序在證書申請、給應用簽名的過程中起着很大的作用。簽名時的很多問題都出在這個應用中,比較典型的是

CodeSign error: Certificate identity XXX appears more than once in the keychain. 
The codesign tool requires there only be one.

後面會給出一般的解決辦法。

5、在菜單中依次選擇 證書助理——從證書頒發機構請求證書…:

打包iOS應用程序

在打開的窗口輸入電子郵件和常用名稱,並選擇存儲到磁盤以及讓我指定密鑰對信息:

打包iOS應用程序

單擊繼續,在打開的窗口設定文件名稱和位置,點擊繼續,密鑰大小選擇2048位,算法選擇RSA:

打包iOS應用程序

點擊繼續,則在之前設定的位置生成了.CSR的簽名文件。默認名稱是CertificateSigningRequest.certSigningRequest。

6、回到瀏覽器,在頁面中依次選擇Certificates——Distribution——Request Certificate:

打包iOS應用程序

在打開的頁面選擇要上傳的CSR文件,提交。

7、此時正在審覈剛纔上傳的文件,你可以單擊click here to download now下載WWD intermediate certificate。

8、刷新頁面,下載證書並安裝,此時會自動加到鑰匙串訪問程序。

9、創建App ID。在瀏覽器的頁面左邊選擇App ID:

打包iOS應用程序

然後在右邊選擇New App ID,如下圖:

打包iOS應用程序

在Description輸入你的應用的描述,Bundle Identifier是應用的代碼標識,例如可以輸入com.company.demoapp。如果你有Team ID,那麼這個ID會自動加在Identifier前邊。注意:

① 由於現在蘋果還沒提供App ID刪除功能,所以Description最好也是唯一的,否則後邊用到的時候會很麻煩。

② 在Xcode 4.4.1中,如果查看工程的Bundle Identifier,會發現對應於前邊的demoapp部分是不可改的,所以在輸入Bundle Identifier時可以就用Xcode中給定的,這樣可以省去很多不知道的麻煩。

③ 建議申請一個最後字段爲“ *”的ID,這樣可以用同樣的ID,提交一套應用程序,而無需爲每個應用都申請單獨的ID。

10、添加設備。如果你希望導出的ipa只能安裝在指定的設備,則要將這些設備添加到上圖中左側的Devices中。先要獲取iOS設備的標識符(不是序列號),可以將設備與iTunes相連,選擇這個設備,會先顯示序列號:

打包iOS應用程序

此時單擊序列號,就會出現標識符:

 打包iOS應用程序

11、回到瀏覽器的頁面,在左邊單擊Device,然後選擇Add Devices:

打包iOS應用程序

在打開的頁面中添加設備。別忘了Submit。

12、現在可以製作Profile了。在瀏覽器的頁面中單擊Provisioning——Distribution:

打包iOS應用程序

然後選擇New Profile:

打包iOS應用程序

在這個頁面中,輸入Profile Name,選擇App ID。前邊的Distribution Method有兩個選擇:App Store與Ad Hoc,前者表明你想將程序發佈到應用商店,用這樣的Profile導出的ipa所有設備都能安裝;後者表明只允許將應用安裝在指定的設備上,選擇Ad Hoc後,需要在下方選擇授權的設備,就是之前你指定的。

爲了好區分Profile,本人在輸入的Profile Name加了後綴,_App_Store以及_Ad_Hoc,這樣就比較直觀了。

13、新創建的Profile提交上去之後,稍等一會,刷新頁面,就可以下載這個Profile了,下載成功後,雙擊就自動加到Xcode中了(本人的Xcode一直在運行)。

14、配置應用程序。用Xcode運行已經寫好的工程,設置其Bundle Identifier:

打包iOS應用程序

然後,選擇簽名所用的Profile,如下圖,找到Code Signing,找到其中的Release:

打包iOS應用程序

上圖中藍色的那行,點擊與工程名對應的那一列,選擇Profile文件,這裏選擇的是Ad Hoc類型的:

打包iOS應用程序

15、在Xcode左上角的設備選擇iOS Device,然後在菜單欄依次找到Product——Archive,如果一切順利,會顯示Build Success:

打包iOS應用程序

然後會自動打開Xcode的Organizer的Archives,你可以給他們重命名:

打包iOS應用程序

16、選擇剛纔生成的那個存檔,單擊右邊的“Distribute…”按鈕:

打包iOS應用程序

在打開的頁面選擇Ad Hoc:

打包iOS應用程序

單擊Next,在下一步選擇Code Signing Identity,本人選的是與Ad Hoc相對應的:

打包iOS應用程序

之後繼續Next,設好名稱和保存的位置,再繼續就可以生成ipa文件了。

17、用iTunes將生成的ipa安裝到設備中。爲了測試這個ipa文件,可以多試幾臺設備。

常見問題:

CodeSign error: Certificate identity XXX appears more than once in the keychain.
 The codesign tool requires there only be one.

這個問題是很讓人頭疼的,問題出在鑰匙串訪問這個程序中,運行這個程序,將重複的Certificate identity刪掉可能還是不管用,因爲據說,Mac中的刪除並不一定真的刪除了,但肯定是看不見了。本人昨天晚上折騰了一個小時,將上面的打包過程重 復了好幾次都不管用,後來重啓了電腦,居然搞定了。


發佈了8 篇原創文章 · 獲贊 3 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章