概述:
首先得描述一下各個證書的定位,作用,這樣在制作的時候心中有譜,對整個流程的把握也會准確一些;
1、Certificate 開發者證書(分為開發和發布兩種,類型為ios Development,ios Distribution)
這個是最基礎的,不論是真機調試,還是上傳到appstore都是需要的,是一個基證書,用來證明自己開發者身份的;
APNS證書是給服務器開發push notification用的,詳見3.
2、Identifiers:標識
2.1、App ID,這是每一個應用的獨立標識,可以包含通配符也可以不含,在設置項中可以配置該應用的權限,比如是否用到了PassBook,GameCenter,以及更常見的push服務,如果選中了push服務,那么就可以創建生成下面第3條所提到的推送證書,所以,在所有和推送相關的配置中,首先要做的就是先開通支持推送服務的appID;
格式如:com.company.product.*, 或 com.company.product.1.0。
3、推送證書(分為開發和發布兩種,類型分別為APNs Development ios,APNs Distribution ios)
APNS證書是給服務器開發push notification用的;該證書在appID配置(標題2.1)中創建生成,和開發者證書一樣,安裝到開發電腦上;
生成是如上圖,需要生成兩個證書,Development SSL Certificate和Production SSL Certification,前者用於開發測試,后者用於發布,如果是使用第三方推送或是自己后台寫的PHP推送服務器,要使用后者。
注意如果程序支持game center, in app purchase,push notification,這個app id中不能包含通配符“*”。
4、Devices 管理測試設備:
使用你的測試設備的UUID添加進來,然后在Profiles里面選擇這些設備。生成Provisioning Profiles后再添加的測試設備,如想要用它進行真機調試,需要更新Provisioning Profiles,編輯對應Provisoning Profiles,將設備添加進來。
刪除設備會使所有關聯這個設備的Provisioning Profiles失效,所有不要隨便刪,要刪在下次續費時刪除。
5、Provisioning Profiles
這個東西是很有蘋果特色的一個東西,該文件將App ID,開發者證書,硬件Device綁定到一塊兒,在開發者中心配置好后可以添加到Xcode上,也可以直接在Xcode上連接開發者中心生成,真機調試時需要在PP文件中添加真機的udid;是真機調試必備之珍品;
Provisioning Profiles配置文件,分為兩種
5.1、 Development 開發版,建立開發版本的profile時只能選擇證書中的開發證書,並且支持多選多個證書,多個開發人員可以共用一個profile;同時可以選擇多個3建立的設備;
5.2、 Distribution 正式版,此版本profile分為
a. App Store版本,是發布到App Store時使用的profile,創建時先選擇Identifiers中的AppID,再選擇一個證書,選擇時應該你創建的證書;
b. Ad Hoc版本,Ad Hoc是給某些企業發布緊企業內部使用的;
平常我們的制作流程一般都是按以上序列進行,先利用開發者帳號登陸開發者中心,創建開發者證書,appID,在appID中開通推送服務,在開通推送服務的選項下面創建推送證書(服務器端的推送證書見下文),之后在PP文件中綁定所有的證書id,添加調試真機等;
在Xcode中管理,5.0之后,打開Preference,選擇Accounts;點擊View Details...
點擊刷新,可以刷新XCode和設備上的Provisioning Prefiles;同時可以制作Development Provisioning Prefiles和Distribution Provisioning Prefiles。
現在上具體流程:
1、開發者證書制作安裝步驟:大概過程是:選擇授權類型,開發還是發布->提交在mac設備中創建的公鑰-> 下載證書,並安裝
1.1、創建證書簽名請求公鑰
打開應用程序中的“鑰匙串訪問”,在菜單里點擊“證書助理”下面的“從證書代理請求證書”,注意下面不要選中任何行,否則菜單會變。
輸入自己的注冊Email,常用名稱可以寫詳細一點,比如“Unfish Dev Key”,下面選中“存儲到磁盤”,點繼續,可能會出現未知錯誤,多試幾次就OK了。
1.2、創建開發者證書
在瀏覽器中進入開發者中心的Certificaties導航頁面,點擊右上角的加號;
證書類型選擇iOS App Development,點擊繼續;
下個界面需要一個CSR文件,就是我們在1.1中創建的公鑰;選取你生成的csr文件,點擊生成。
點擊生成后會生成一個cer證書,如圖所示;
點擊Download,下載下來,雙擊打開雙擊會自動導入鑰匙串,導入類型選擇“登錄”就可以。
1.3、添加你的測試設備(這一步只是開發證書有用,發布證書是不需要這個東西的。)
把手機連到電腦上,在xcode的windows菜單下打開Organizer,左邊的devices下面會列出你的手機,右邊的Identifier項就是你的手機的udid,復制下來,待會要用。如果這個手機還沒有設置過作為開發機,這個界面上應該會有兩個按鈕,點一下就可以把它設為開發機,在xcode里點Build and go的時候就可以自動的安裝你的程序到手機上,不需要通過ITunes了。
在開發者中心的左邊Devices導航頁,點擊右上角Add Device;
起個自己認識的名字,把udid粘貼進去就可以了,在所有設備中會出現你的設備。
1.4、創建App ID:
我們需要為應用創建一個App ID,他是識別這個應用的唯一標識,在開發者中心的Identifier導航頁的App ID頁面,點擊右上角創建新的App ID,這個App ID需要跟程序的info.plist里面定義的程序Identifier相對應;
為App ID命名,注意命名規則:
選擇App ID類型:
Explicit類型是不使用*通配符,支持所有App Services;Wildcard App ID類型,可以使用*通配符命名。
如果這里只輸入一個*,那么info.plist里Bundle identifier寫什么都可以,使用*通配符,適用於批量的,沒有推送,Game Center等服務的應用。如果你的應用要用到推送、GameCenter、PassCard等服務請勿使用。
格式規則:蘋果建議使用域名倒序的方式命名;
若使用通配符com.*命名,那么在應用的info.plist中Bundle identifier只要以com.開頭,后面寫什么都可以。
繼續點擊提交創建成功。
1.5、創建Provisioning Prefiles文件
進入開發者中心的Provisioning菜單,點擊右上角創建;
Provisioning profile選擇iOS App Development;
選擇對應應用的App ID;
選擇所使用的證書;
選擇對應要使用的設備,我一般全選,省事兒;
取個見名知意的名兒,並點擊生成;
生成以后下載這個provisioning文件,把下載下來的文件拖到Dock上的Xcode的圖標上就會自動安裝進去。
然后退出xcode重新打開,打開你的項目,打開Project菜單下面的Edit Project Settings,進入Build頁面,找到下面的Code Signing Identity,把Any iPhone OS Device項后面選中你的開發者證書,然后就可以把項目的編譯目標設為Device(而不是模擬器),試一下Run。程序應該會編譯完並自動安裝到你的手機上,並自動啟動了。
2、發布證書制作安裝步驟:
2.1、同1.1一樣,我們創建證書簽名請求公鑰,如果已經創建過,就直接使用以前的那個就行(CSR文件)。
進入開發者中心Certificates里面的Distribution頁面,選擇右上角添加;
證書類型選擇Production App Store and Ad Hoc;
之后步驟和創建Development證書一樣,提交SRC文件,創建成功;
然后下載這個證書,雙擊導入,類型選登錄。
2.2、創建Distribution Provisioning Profiles:
進入開心者中心Provisioning里面的Distribution頁面,點擊右上角添加新的Provisioning;
類型選App Store,(如果選了Ad Hoc,就只有你添加過udid的手機才能安裝這個程序了,一般用於企業帳號,這里我們不介紹);
之后步驟和創建Development證書基本一致(少了一個選擇設備步驟),Distribution證書選好,App ID選好,取好名稱,創建完成;下載這個文件,拖到xcode的圖標上安裝完成。退出xcode再重新打開,否則加載不了你剛剛添加的那個證書,會出現Provisioning無效的提示。
打開工程,進入Build Settings頁面,在Code Signing Identity里面的Any iPhone OS Device后面對應的值選中你的那個Distribution的證書。然后就可以編譯程序了。
3、在Xcode中創建Provisioning Prefiles
在Xcode中管理,5.0之后,打開Preference,選擇Accounts;點擊View Details...
點擊添加Development Provisioning Prefiles,步驟和MemberCenter添加過程基本一致;
賬號密碼換了,驗證失敗,下回在給大家介紹吧。
4、如何要把測試版發給別人:
- a.進入member center,把device id注冊為測試機;
- b.建立一個Ad hoc類型的provisioning profile,包含剛才注冊的device id ;
- c.打包時code signing使用剛生成的文件 ;
- d.把ipa給要測試人員即可;
5、程序發布到AppStore的步驟:
- 在開發者中心的Distribution導航里面的App Store頁面,在下面的App Store下面的Learn More展開,就可以看到Go to iTunes Connect的鏈接。進入以后點擊Manage My Application,就可以添加自己的程序了。
- 需要選擇程序的語言,國家,介紹等等基本信息,然后下一步上傳程序和其它圖片。這個地方上傳的程序,就是把你的項目編譯以后生成的那個.app的目錄直接壓縮成zip上傳,(這個.app目錄里面的任何文件都不可以更改,否則簽名就不對了)。你需要准備一張512×512的png圖片作為大Logo,還需要准備5張程序運行的界面截圖,在這個頁面上挨個選Choose file,再點擊upload file,出現對號就沒問題了。然后選擇程序的價格,默認有很多可以選,free是免費,1是0.99美元,2是1.99美元,諸如此類。如果非免費程序,你還得准備一份購買協議。
- 再點下一步,就可以等待程序審核了。