對于iOS開發(fā)者來說蛮穿,apple開發(fā)者賬號肯定不會陌生恍风。在開發(fā)中我們離不開它。下面為大家分享一下關(guān)于iOS開發(fā)中所用的證書相關(guān)知識夭坪。
首先得描述一下各個證書的定位根盒,作用悴势,這樣在制作的時候心中有譜卿操,對整個流程的把握也會準(zhǔn)確一些决摧;
第一部分:成員介紹
1.Certification(證書)
證書是對電腦開發(fā)資格的認(rèn)證,每個開發(fā)者帳號有一套摩梧,分為兩種:
1)Developer Certification(開發(fā)證書)
安裝在電腦上提供權(quán)限:開發(fā)人員通過設(shè)備進行真機測試。
可以生成副本供多臺電腦安裝笼蛛;
2)Distribution Certification(發(fā)布證書)
安裝在電腦上提供發(fā)布iOS程序的權(quán)限:開發(fā)人員可以制做測試版和發(fā)布版的程序。不可生成副本职抡,僅有配置該證書的電腦才可使用葬燎;
2.Provisioning Profile(授權(quán)文件)
授權(quán)文件是對設(shè)備如iPod Touch、iPad缚甩、iPhone的授權(quán)谱净,文件內(nèi)記錄的是設(shè)備的UDID和程序的App ID,即:使被授權(quán)的設(shè)備可以安裝或調(diào)試Bundle identifier與授權(quán)文件中記錄的App ID對應(yīng)的程序擅威。
開發(fā)者帳號在創(chuàng)建授權(quán)文件時候會選擇App ID壕探,(開發(fā)者帳號下App ID中添加,單選)和UDID(開發(fā)者帳號下Devices中添加最多100個郊丛,多選)李请。
授權(quán)文件分為兩種,對應(yīng)相應(yīng)的證書使用:
1)Developer Provisioning Profile(開發(fā)授權(quán)文件)
在裝有開發(fā)證書或副本的電腦上使用厉熟,開發(fā)人員選擇該授權(quán)文件通過電腦將程序安裝到授權(quán)文件記錄的設(shè)備中导盅,即可進行真機測試。
注意:確保電腦有權(quán)限真機調(diào)試庆猫,即安裝了開發(fā)證書或副本;在開發(fā)工具中程序的Bundle identifier和選中使用的授權(quán)文件的App ID要一致绅络;連接調(diào)試的設(shè)備的UDID在選中的授權(quán)文件中有記錄月培。
2)Distribution Provisioning Profile(發(fā)布授權(quán)文件)
在裝有發(fā)布證書的電腦上(即配置證書的電腦,只有一臺)制做測試版和發(fā)布版的程序恩急。
發(fā)布版就是發(fā)布到App Store上的程序文件杉畜,開發(fā)者帳號創(chuàng)建授權(quán)文件時選擇store選項,選擇App ID衷恭,無需選擇UDID此叠;
測試版就是在發(fā)布之前交給測試人員可同步到設(shè)備上的程序文件,開發(fā)者帳號創(chuàng)建授權(quán)文件時選擇AdHoc随珠,選擇App ID和UDID灭袁;只有選中的UDID對應(yīng)的設(shè)備才可能安裝上通過該授權(quán)文件制做的程序猬错。
3. Keychain(開發(fā)密鑰)
安裝證書成功的情況下證書下都會生成Keychain,上面提到的證書副本(導(dǎo)出證書重新命名)就是通過配置證書的電腦導(dǎo)出Keychain(就是.p12文件)安裝到其他機子上茸歧,讓其他機子得到證書對應(yīng)的權(quán)限倦炒。Developer Certification就可以制做副本Keychain分發(fā)到其他電腦上安裝,使其可以進行真機測試软瞎。
注意:Distribution Certification只有配置證書的電腦才可使用逢唤,因此即使導(dǎo)出導(dǎo)出Keychain安裝到其他電腦上,其他電腦也不可能具有證書的權(quán)限涤浇。
平常我們的制作流程一般都是先利用開發(fā)者帳號登陸開發(fā)者中心鳖藕,創(chuàng)建開發(fā)者證書,AppID,在AppID中開通推送服務(wù)只锭,在開通推送服務(wù)的選項下面創(chuàng)建推送證書(服務(wù)器端的推送證書見下文)著恩,之后在Provisioning Profile文件中綁定所有的證書id,添加調(diào)試真機等;
具體操作流程如下:
第一步:申請“開發(fā)證書”
登錄纹烹,登錄成功后如下圖所示
找到證書板塊页滚,點擊進入
點進證書,會顯示如下界面铺呵,點擊右上角的加號
會出現(xiàn)以下界面裹驰,該操作重復(fù)兩次,分別創(chuàng)建開發(fā)測試證書和發(fā)布證書片挂,開發(fā)測試證書用于真機調(diào)試幻林,發(fā)布證書用于提交到appStore,我們以開發(fā)測試證書為例,選擇第一個紅框中的內(nèi)容音念;
然后下一步沪饺,會提示創(chuàng)建CSR文件,也就是證書簽名請求文件闷愤,會有很詳細的操作說明整葡,如果英文不太好,可以參考下圖讥脐;
(1)? ? ? 點擊鑰匙圖標(biāo)
(2) ? 在菜單欄中依次選擇:鑰匙串訪問?偏好設(shè)置?證書選項卡遭居,下面兩項全部選關(guān)閉
(3) ?生成證書請求:鑰匙串訪問?證書助理?從證書頒發(fā)機構(gòu)請求證書
填寫開發(fā)賬號郵件和常用名稱,勾選“存儲到磁盤”
保存后的名稱應(yīng)該為:CertificateSigningRequest.certSigningRequest
保存到磁盤后在你的鑰匙串訪問窗口應(yīng)該會出兩個密鑰旬渠,一個公鑰密鑰俱萍,一個專用密鑰,紅色部分就是你在上面輸入的常用名
備注:CSR文件盡量每個證書都制作一次告丢,將常用名稱區(qū)分開來枪蘑,因為該常用名稱是證書中的密鑰的名字;之后在開發(fā)者中心將該CSR文件提交;
提交上去后就會生成一個cer證書岳颇,如圖所示照捡,有效期為一年;
利用同樣的方法配置一下Distribution發(fā)布證書赦役,下載保存麻敌,雙擊安裝;在鑰題串登陸證書中可以查看掂摔,其中專用密鑰的名字即為CSR請求文件中的常用名稱术羔;
如果是申請推送證書,則會關(guān)聯(lián)一個App ID
第二步:注冊 App ID
選擇 “Identifiers”的 “App IDs”乙漓,點擊“+”
出現(xiàn)以下界面:
App ID Description 是一個App ID的描述级历,就是一個名字,這個名字可以隨便取
App ID Prefix 蘋果已經(jīng)幫我們填了叭披,不需要我們填寥殖,可以看出,它是一個團隊的ID
填寫bundle ID:
服務(wù)中文翻譯
最后會有一個詳細的內(nèi)容列表涩蜘,對應(yīng)無誤后嚼贡,提交完成
第三步:申請設(shè)備
如圖,點擊“+”同诫,一個99美元賬號只能申請100個設(shè)備粤策。
填寫自己測試設(shè)備的名字和UDID,UDID在Xcode中可以查看
查看UDID
打開Xcode
填好 name 和 UDID后误窖,點擊continue 就可以看到如下界面叮盘,點擊“Register”就可以在蘋果上登記了。
第四步:授權(quán)文件申請(Provisioning Profile)
選擇授權(quán)文件類型霹俺,下面羅列了iOS常的授權(quán)文件類型
選擇我們剛剛生成的 App ID,選好后柔吼,點擊“Continue”
這里選擇一個開發(fā)證書,有兩點要注意:
這個證書是我們剛剛自己在本機(當(dāng)前電腦)與蘋果開發(fā)者網(wǎng)站生成的 開發(fā)證書 “Development certificate”
如果不是剛生成的丙唧,這個證書必須在本地的mac的鑰匙串中存在(帶密鑰的證書愈魏,不帶密鑰的依然無效)
如果不想自己在重新生成證書,用別人生成的證書想际,可以從別人的電腦中導(dǎo)出p12文件
選好證書以后培漏,點擊“Continue”
選擇設(shè)備,設(shè)備可以選擇全部設(shè)備沼琉,也可以按需選擇你需要的設(shè)備:
這里給我們的描述文件取一個名字北苟,這個名字在以后的xcode中是看得到的桩匪,所以可以取一個好辨認(rèn)的名字打瘪。取好名字后,選擇“Continue”生成描述文件。
生成好描述文件后闺骚,選擇“Download”,雙擊進行安裝
關(guān)于.p12證書
為什么要導(dǎo)出p12
當(dāng)我們用大于三個mac設(shè)備開發(fā)應(yīng)用
時彩扔,想要申請新的證書,如果在我們的證書里僻爽,包含了3個發(fā)布證書虫碉,2個開發(fā)證書,可以發(fā)現(xiàn)再也申請不了開發(fā)證書和發(fā)布證書了(一般在我們的證書界面中應(yīng)該
只有一個開發(fā)證書胸梆,一個發(fā)布證書敦捧,沒必要生成那么多的證書,證書一般在過期之后才會重新添加碰镜。)
如圖:
這時候兢卵,再點擊“+”時,就會發(fā)現(xiàn)點擊不了開發(fā)和發(fā)布證書绪颖,也就是添加不了開發(fā)證書和發(fā)布證書了:
有兩個解決不能添加證書的方法:
第一種方法是將以前的證書“revoke”掉秽荤,如圖:
然后重新生成一個新的證書。
這種方法是可以的柠横,但是會造成相應(yīng)的Provisioning Profiles失效窃款,這個可大可小。如果只有你一個人則問題不大牍氛,如果是一個團隊大家都在用晨继,你把這個證書刪除了,會導(dǎo)致別人的描述文件失效糜俗,這意味著別人不能發(fā)布應(yīng)用了(還可以開發(fā))踱稍,這可是大問題,所以不提倡這種做法悠抹。
第二種方法是生成p12文件:
我們的每一個證書都可以生成一個.p12文件珠月,這個文件是一個加密的文件,只要知道其密碼楔敌,就可以供給所有的mac設(shè)備使用啤挎,使設(shè)備不需要在蘋果開發(fā)者網(wǎng)站重新申請開發(fā)和發(fā)布證書,就能使用(強烈推薦卵凑,目前基本上都是這樣用)庆聘。
注意:一般.p12文件是給與別人使用的,本機必須已經(jīng)有一個帶秘鑰的證書才可以生成.p12文件勺卢,如圖:
打開鑰匙串伙判,選擇我們需要的證書,右擊黑忱,選擇“導(dǎo)出“iPhone Distribition:```”:
為.p12文件填一個名字宴抚,點擊存儲:
填一個“密碼”勒魔,“驗證”和密碼相同:
點擊好,在桌面上就形成了一個.p12文件了:
在別人的電腦上要成功安裝菇曲,必須具備兩個文件:
該證書導(dǎo)出的“.p12”文件冠绢。
蘋果開發(fā)者中的與“證書”對應(yīng)的“描述文件”
如果需要用于開發(fā)的,那么需要這兩個文件:
.p12文件本身就是一個加密的證書,所以用這兩個文件就可以讓其他mac設(shè)備使用了:
拿到這兩個文件后,依次雙擊“證書”域慷,“.p12“文件(需要輸入密碼姨俩,密碼就是當(dāng)時生成.p12時設(shè)定的密碼,),作用是加入鑰匙串中,使我們的電腦具備開發(fā)的證明,”描述文件“(作用是置于xcode中延届,讓xcode知道我們開發(fā)的合法性),添加完后就可以使用了贸诚。