概述:
蘋果的證書繁鎖復雜,制作管理相當麻煩假夺,今天決定重置一個游戲項目中的所有證書淮蜈,做了這么多次還是感覺很糾結(jié),索性直接記錄下來已卷,日后你我他查閱都方便梧田;
首先得描述一下各個證書的定位,作用侧蘸,這樣在制作的時候心中有譜裁眯,對整個流程的把握也會準確一些;
1讳癌、開發(fā)者證書(分為開發(fā)和發(fā)布兩種未状,類型為iOSDevelopment,ios Distribution),這個是最基礎(chǔ)的析桥,不論是真機調(diào)試,還是上傳到appstore都是需要的,是一個基證書泡仗,用來證明自己開發(fā)者身份的埋虹;
2、appID,這是每一個應(yīng)用的獨立標識娩怎,在設(shè)置項中可以配置該應(yīng)用的權(quán)限搔课,比如是否用到了PassBook,GameCenter,以及更常見的push服務(wù),如果選中了push服務(wù)截亦,那么就可以創(chuàng)建生成下面第3條所提到的推送證書爬泥,所以,在所有和推送相關(guān)的配置中崩瓤,首先要做的就是先開通支持推送服務(wù)的appID;
3袍啡、推送證書(分為開發(fā)和發(fā)布兩種,類型分別為APNs Development ios,APNs Distribution ios),該證書在appID配置中創(chuàng)建生成却桶,和開發(fā)者證書一樣境输,安裝到開發(fā)電腦上;
4颖系、Provisioning
Profiles,這個東西是很有蘋果特色的一個東西嗅剖,我一般稱之為PP文件,該文件將appID,開發(fā)者證書嘁扼,硬件Device綁定到一塊兒信粮,在開發(fā)者
中心配置好后可以添加到Xcode上,也可以直接在Xcode上連接開發(fā)者中心生成趁啸,真機調(diào)試時需要在PP文件中添加真機的udid强缘;是真機調(diào)試和必架必
備之珍品;
平常我們的制作流程一般都是按以上序列進行莲绰,先利用開發(fā)者帳號登陸開發(fā)者中心欺旧,創(chuàng)建開發(fā)者證書,appID,在appID中開通推送服務(wù)蛤签,在開通推送服務(wù)的選項下面創(chuàng)建推送證書(服務(wù)器端的推送證書見下文)辞友,之后在PP文件中綁定所有的證書id,添加調(diào)試真機等;
具體操作流程如下:
第一步:申請“開發(fā)證書”
1震肮、開發(fā)者證書的制作称龙,首先登陸到開發(fā)者中心,找到證書配置的版塊戳晌,猛戳進入鲫尊,點進證書,會顯示如下界面沦偎,點擊右上角的加號
會出現(xiàn)以下界面疫向,該操作重復兩次咳蔚,分別創(chuàng)建開發(fā)測試證書和發(fā)布證書,開發(fā)測試證書用于真機調(diào)試搔驼,發(fā)布證書用于提交到appStore,我們以開發(fā)測試證書為例谈火,選擇第一個紅框中的內(nèi)容;
然后下一步舌涨,會提示創(chuàng)建CSR文件糯耍,也就是證書簽名請求文件,會有很詳細的操作說明囊嘉,如果英文不太好温技,可以參考下圖;
(1) ? ? ? 點擊鑰匙圖標
(2) ? 在菜單欄中依次選擇:鑰匙串訪問?偏好設(shè)置?證書選項卡扭粱,下面兩項全部選關(guān)閉
(3) ?生成證書請求:鑰匙串訪問?證書助理?從證書頒發(fā)機構(gòu)請求證書
(4) ? ?輸入兩個電子郵件地址和常用名稱舵鳞。電子郵件地址是你注冊AppleID。
a)?? 常用名稱輸入你在蘋果網(wǎng)站注冊的名稱焊刹,其它名稱沒試過系任,不知道行不行。
b)?? 選擇“存儲到磁盤”虐块。保存后的名稱應(yīng)該為:CertificateSigningRequest.certSigningRequest
之后將該CSR文件保存到一處俩滥;
c)?? 保存到磁盤后在你的鑰匙串訪問窗口應(yīng)該會出兩個密鑰,一個公鑰密鑰贺奠,一個專用密鑰霜旧,紅色部分就是你在上面輸入的常用名。
備注:CSR文件盡量每個證書都制作一次儡率,將常用名稱區(qū)分開來挂据,因為該常用名稱是證書中的密鑰的名字;
之后在開發(fā)者中心將該CSR文件提交儿普;
(5) ? ? ? ? 生成Certificates證書
提交上去后就會生成一個cer證書崎逃,如圖所示,有效期為一年眉孩;
利用同樣的方法配置一下Distribution發(fā)布證書个绍,下載保存,雙擊安裝浪汪;在鑰題串登陸證書中可以查看巴柿,其中專用密鑰的名字即為CSR請求文件中的常用名稱;
IDs
2死遭、以上開發(fā)者證書的配置完成了广恢,下面我們來配置appID和推送證書;
選擇 “Identifiers”的 “App IDs”呀潭,點擊“+”
出現(xiàn)以下界面:
App ID Description 是一個App ID的描述钉迷,就是一個名字至非,這個名字可以隨便取
App ID Prefix 蘋果已經(jīng)幫我們填了,不需要我們填糠聪,可以看出睡蟋,它是一個團隊的ID
下一步,選擇App ID
Suffix
App ID Suffix 有兩個選項:
Explicit App ID :顧名思義枷颊,這里要填一個明確的 App ID,
什么意思呢该面?可以這么來解釋:我們做項目時的Bundle Identifier (Bundle ID)是用來標示我們的app的夭苗。我們的App ID也是用來標示我們的app的。這兩個有什么聯(lián)系呢隔缀?Explicit App ID 就是要我們確定一個唯一的Bundle ID题造,用來標示我們的 app,使它有一個固定的身份猾瘸〗缗猓可以發(fā)現(xiàn),當提交應(yīng)用到蘋果時牵触,如果我們一開始沒寫Explicit App ID淮悼,蘋果會自動幫我們生成一個與我們發(fā)布時填的一樣的Bundle ID 到我們的App ID中。
填寫Explicit App ID 的格式為:com.company.appName
Wildcard App ID:顧名思義揽思,這里要填一個通配符的 App ID 袜腥。意思就是,我們只需要填一個在所有應(yīng)用都能試用的 App ID 就好了钉汗。
填寫WildcardApp ID 的格式為:com.company.*
申請真機調(diào)試的時候羹令,不是為了某一個應(yīng)用去調(diào)試,而是為了所有的應(yīng)用去調(diào)試损痰,必須能適應(yīng)每一個app福侈,所以我們選擇Wildcard
App ID。
com.company.* 的company 一般寫公司的名字卢未,也可以按需要寫
可以發(fā)現(xiàn)肪凛,選擇Explicit App ID 會比Wildcard
App ID 多幾個服務(wù)選項可以選,不過我們是真機調(diào)試尝丐,所以無所謂显拜,將能選的勾上,選擇“Continue”就好爹袁。
看到如下界面远荠,點擊“Submit”后就可以生成App ID了
第三步:申請設(shè)備
如圖,點擊“+”失息,一個99美元賬號只能申請100個設(shè)備譬淳。
Name 自己取一個設(shè)備的名字档址,UDID約等于設(shè)備的身份證,可以在xcode中查看
查看UDID
打開xcode邻梆,選擇“Windows” 的“organizer”:
選擇設(shè)備看到 “identifier”守伸,這個就是我們設(shè)備的 UDID,將其復制浦妄,可以填入上上圖顯示的 UDID中尼摹。
當你的機子第一次用于開發(fā)時,可以看到剂娄,顯示的燈是“灰色”的蠢涝,可以點擊“use for developer” 來作為開發(fā)機。點擊了“use for developer”后阅懦,可以發(fā)現(xiàn)你的燈變成了黃色的了和二。
如果一個手機本來就是開發(fā)機(一個手機可以安裝多個開發(fā)用的描述文件)或者越獄的手機,那么它剛插進去就是綠燈耳胎。但是綠燈并不代表就能用惯吕,必須安裝相適應(yīng)的描述文件。如圖就是一個沒有安裝相應(yīng)描述文件的開發(fā)機怕午。
填好 name 和 UDID后废登,點擊continue 就可以看到如下界面,點擊“Register”就可以在蘋果上登記了诗轻。
4钳宪、PP文件的制作
如圖點擊“+”
選擇 ? ?“iOS App Developer”,然后“Continue”
這里選擇我們剛剛生成的 App ID,選好后扳炬,點擊“Continue”
這里選擇一個開發(fā)證書吏颖,有兩點要注意:
這個證書是我們剛剛自己在本機(當前電腦)與蘋果開發(fā)者網(wǎng)站生成的 開發(fā)證書 “Development certificate”
如果不是剛生成的,這個證書必須在本地的mac的鑰匙串中存在(帶密鑰的證書恨樟,不帶密鑰的依然無效)
如果不想自己在重新生成證書半醉,用別人生成的證書,可以從別人的電腦中導出p12文件劝术,參見最下方的"關(guān)于.p12證書".
選好證書以后缩多,點擊“Continue”
選擇設(shè)備,設(shè)備可以選擇全部設(shè)備养晋,也可以按需選擇你需要的設(shè)備:
這里給我們的描述文件取一個名字衬吆,這個名字在以后的xcode中是看得到的,所以可以取一個好辨認的名字绳泉。取好名字后逊抡,選擇“Generate”生成描述文件。
生成好描述文件后零酪,選擇“Download”,雙擊進行安裝(安裝后在xcode中可以查看)
安裝成功后冒嫡,以前沒作為開發(fā)機的手機會變成綠色的(以前就是開發(fā)機和越獄的手機一直是綠色的拇勃,但是不重新申請符合證書的真機調(diào)試任然是不能真機調(diào)試的)
點擊“Provisioning
Profiles” 看到 “Valid profile” 就是成功安裝的意思。
如果沒有安裝成功孝凌,一般是證書或者描述文件的問題方咆,看看證書是不是從自己的機子上生成的,描述文件的配置信息(是否和你的本機存在的帶秘鑰的證書相匹配蟀架,你添加的設(shè)備是否包含你現(xiàn)在選擇調(diào)試的設(shè)備)等瓣赂,如圖第一個警告是因為沒有證書與描述文件相匹配出現(xiàn)的
配置好后,還不是綠燈片拍,則考慮問題:
設(shè)備版本高于XCode所能支持的版本钩述,如XCode4.6.3,能支持的最高版本未iOS6.1穆碎,如果你的設(shè)備系統(tǒng)大于等于iOS7以上,此時需要 ? 更新至XCode5职恳; ?再如:XCode5 不支持ios7.1所禀,如果想開發(fā)ios7.1,必須將xcode5 升級到 xcode5.1以上版本;
例如:
在真機調(diào)試時放钦,不要忘記設(shè)置這兩個色徘,否則調(diào)試失敗:
這個必須填:之前寫Wildcard
App ID 的內(nèi)容. app的名字
設(shè)置好這兩個之后再點擊運行操禀。
關(guān)于.p12證書
當我們用大于三個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失效,這個可大可小媳荒。如果只有你一個人則問題不大抗悍,如果是一個團隊大家都在用驹饺,你把這個證書刪除了,會導致別人的描述文件失效缴渊,這意味著別人不能發(fā)布應(yīng)用了(還可以開發(fā))赏壹,這可是大問題,所以不提倡這種做法衔沼。
我們的每一個證書都可以生成一個.p12文件蝌借,這個文件是一個加密的文件,只要知道其密碼指蚁,就可以供給所有的mac設(shè)備使用菩佑,使設(shè)備不需要在蘋果開發(fā)者網(wǎng)站重新申請開發(fā)和發(fā)布證書,就能使用凝化。
注意:一般.p12文件是給與別人使用的稍坯,本機必須已經(jīng)有一個帶秘鑰的證書才可以生成.p12文件,如圖:
打開鑰匙串搓劫,選擇我們需要的證書瞧哟,右擊,選擇“導出“iPhone Distribition:```”:
為.p12文件填一個名字枪向,點擊存儲:
填一個“密碼”勤揩,“驗證”和密碼相同:
點擊好,在桌面上就形成了一個.p12文件了:
該證書導出的“.p12”文件陨亡。
蘋果開發(fā)者中的與“證書”對應(yīng)的“描述文件”
如果需要用于開發(fā)的,那么需要這兩個文件:
.p12文件本身就是一個加密的證書深员,所以用這兩個文件就可以讓其他mac設(shè)備使用了:
拿到這兩個文件后负蠕,依次雙擊“證書”,“.p12“文件(需要輸入密碼倦畅,密碼就是當時生成.p12時設(shè)定的密碼虐急,),作用是加入鑰匙串中滔迈,使我們的電腦具備開發(fā)的證明止吁,”描述文件“(作用是置于xcode中,讓xcode知道我們開發(fā)的合法性)燎悍,添加完后就可以使用了敬惦。
文/互擼娃二世(簡書作者)
原文鏈接:http://www.reibang.com/p/be89a34e0034
著作權(quán)歸作者所有,轉(zhuǎn)載請聯(lián)系作者獲得授權(quán)谈山,并標注“簡書作者”俄删。