【實用帖】蘋果開發者賬號證書詳解

對于iOS開發者來說,apple開發者賬號肯定不會陌生。在開發中我們離不開它。下面為大家分享一下關于iOS開發中所用的證書相關知識。

首先得描述一下各個證書的定位,作用,這樣在制作的時候心中有譜,對整個流程的把握也會準確一些;

第一部分:成員介紹

1.Certification(證書)

證書是對電腦開發資格的認證,每個開發者帳號有一套,分為兩種:

1)Developer Certification(開發證書)

安裝在電腦上提供權限:開發人員通過設備進行真機測試。

可以生成副本供多臺電腦安裝;

2)Distribution Certification(發布證書)

安裝在電腦上提供發布iOS程序的權限:開發人員可以制做測試版和發布版的程序。不可生成副本,僅有配置該證書的電腦才可使用;

2.Provisioning Profile(授權文件)

授權文件是對設備如iPod Touch、iPad、iPhone的授權,文件內記錄的是設備的UDID和程序的App ID,即:使被授權的設備可以安裝或調試Bundle identifier與授權文件中記錄的App ID對應的程序。

開發者帳號在創建授權文件時候會選擇App ID,(開發者帳號下App ID中添加,單選)和UDID(開發者帳號下Devices中添加最多100個,多選)。

授權文件分為兩種,對應相應的證書使用:

1)Developer Provisioning Profile(開發授權文件)

在裝有開發證書或副本的電腦上使用,開發人員選擇該授權文件通過電腦將程序安裝到授權文件記錄的設備中,即可進行真機測試。

注意:確保電腦有權限真機調試,即安裝了開發證書或副本;在開發工具中程序的Bundle identifier和選中使用的授權文件的App ID要一致;連接調試的設備的UDID在選中的授權文件中有記錄。

2)Distribution Provisioning Profile(發布授權文件)

在裝有發布證書的電腦上(即配置證書的電腦,只有一臺)制做測試版和發布版的程序。

發布版就是發布到App Store上的程序文件,開發者帳號創建授權文件時選擇store選項,選擇App ID,無需選擇UDID;

測試版就是在發布之前交給測試人員可同步到設備上的程序文件,開發者帳號創建授權文件時選擇AdHoc,選擇App ID和UDID;只有選中的UDID對應的設備才可能安裝上通過該授權文件制做的程序。

3. Keychain(開發密鑰)

安裝證書成功的情況下證書下都會生成Keychain,上面提到的證書副本(導出證書重新命名)就是通過配置證書的電腦導出Keychain(就是.p12文件)安裝到其他機子上,讓其他機子得到證書對應的權限。Developer Certification就可以制做副本Keychain分發到其他電腦上安裝,使其可以進行真機測試。

注意:Distribution Certification只有配置證書的電腦才可使用,因此即使導出導出Keychain安裝到其他電腦上,其他電腦也不可能具有證書的權限。

平常我們的制作流程一般都是先利用開發者帳號登陸開發者中心,創建開發者證書,AppID,在AppID中開通推送服務,在開通推送服務的選項下面創建推送證書(服務器端的推送證書見下文),之后在Provisioning Profile文件中綁定所有的證書id,添加調試真機等;

具體操作流程如下:

第一步:申請“開發證書”

登錄,登錄成功后如下圖所示



找到證書板塊,點擊進入

點進證書,會顯示如下界面,點擊右上角的加號

會出現以下界面,該操作重復兩次,分別創建開發測試證書和發布證書,開發測試證書用于真機調試,發布證書用于提交到appStore,我們以開發測試證書為例,選擇第一個紅框中的內容;


然后下一步,會提示創建CSR文件,也就是證書簽名請求文件,會有很詳細的操作說明,如果英文不太好,可以參考下圖;


(1)? ? ? 點擊鑰匙圖標

(2) ? 在菜單欄中依次選擇:鑰匙串訪問?偏好設置?證書選項卡,下面兩項全部選關閉

(3) ?生成證書請求:鑰匙串訪問?證書助理?從證書頒發機構請求證書


填寫開發賬號郵件和常用名稱,勾選“存儲到磁盤”

保存后的名稱應該為:CertificateSigningRequest.certSigningRequest

保存到磁盤后在你的鑰匙串訪問窗口應該會出兩個密鑰,一個公鑰密鑰,一個專用密鑰,紅色部分就是你在上面輸入的常用名


備注:CSR文件盡量每個證書都制作一次,將常用名稱區分開來,因為該常用名稱是證書中的密鑰的名字;之后在開發者中心將該CSR文件提交;


提交上去后就會生成一個cer證書,如圖所示,有效期為一年;


利用同樣的方法配置一下Distribution發布證書,下載保存,雙擊安裝;在鑰題串登陸證書中可以查看,其中專用密鑰的名字即為CSR請求文件中的常用名稱;

如果是申請推送證書,則會關聯一個App ID


第二步:注冊 App ID

選擇 “Identifiers”的 “App IDs”,點擊“+”

出現以下界面:

App ID Description 是一個App ID的描述,就是一個名字,這個名字可以隨便取

App ID Prefix 蘋果已經幫我們填了,不需要我們填,可以看出,它是一個團隊的ID

填寫bundle ID:


服務中文翻譯


最后會有一個詳細的內容列表,對應無誤后,提交完成


第三步:申請設備

如圖,點擊“+”,一個99美元賬號只能申請100個設備。

填寫自己測試設備的名字和UDID,UDID在Xcode中可以查看


查看UDID

打開Xcode



填好 name 和 UDID后,點擊continue 就可以看到如下界面,點擊“Register”就可以在蘋果上登記了。



第四步:授權文件申請(Provisioning Profile)

選擇授權文件類型,下面羅列了iOS常的授權文件類型



選擇我們剛剛生成的 App ID,選好后,點擊“Continue”


這里選擇一個開發證書,有兩點要注意:

這個證書是我們剛剛自己在本機(當前電腦)與蘋果開發者網站生成的 開發證書 “Development certificate”

如果不是剛生成的,這個證書必須在本地的mac的鑰匙串中存在(帶密鑰的證書,不帶密鑰的依然無效)


如果不想自己在重新生成證書,用別人生成的證書,可以從別人的電腦中導出p12文件

選好證書以后,點擊“Continue”


選擇設備,設備可以選擇全部設備,也可以按需選擇你需要的設備:


這里給我們的描述文件取一個名字,這個名字在以后的xcode中是看得到的,所以可以取一個好辨認的名字。取好名字后,選擇“Continue”生成描述文件。


生成好描述文件后,選擇“Download”,雙擊進行安裝

關于.p12證書

為什么要導出p12

當我們用大于三個mac設備開發應用

時,想要申請新的證書,如果在我們的證書里,包含了3個發布證書,2個開發證書,可以發現再也申請不了開發證書和發布證書了(一般在我們的證書界面中應該

只有一個開發證書,一個發布證書,沒必要生成那么多的證書,證書一般在過期之后才會重新添加。)

如圖:

這時候,再點擊“+”時,就會發現點擊不了開發和發布證書,也就是添加不了開發證書和發布證書了:

有兩個解決不能添加證書的方法:

第一種方法是將以前的證書“revoke”掉,如圖:

然后重新生成一個新的證書。

這種方法是可以的,但是會造成相應的Provisioning Profiles失效,這個可大可小。如果只有你一個人則問題不大,如果是一個團隊大家都在用,你把這個證書刪除了,會導致別人的描述文件失效,這意味著別人不能發布應用了(還可以開發),這可是大問題,所以不提倡這種做法

第二種方法是生成p12文件:

我們的每一個證書都可以生成一個.p12文件,這個文件是一個加密的文件,只要知道其密碼,就可以供給所有的mac設備使用,使設備不需要在蘋果開發者網站重新申請開發和發布證書,就能使用(強烈推薦,目前基本上都是這樣用)。

注意:一般.p12文件是給與別人使用的,本機必須已經有一個帶秘鑰的證書才可以生成.p12文件,如圖:

打開鑰匙串,選擇我們需要的證書,右擊,選擇“導出“iPhone Distribition:```”:

為.p12文件填一個名字,點擊存儲:

填一個“密碼”,“驗證”和密碼相同:

點擊好,在桌面上就形成了一個.p12文件了:

在別人的電腦上要成功安裝,必須具備兩個文件:

該證書導出的“.p12”文件。

蘋果開發者中的與“證書”對應的“描述文件”

如果需要用于開發的,那么需要這兩個文件:

.p12文件本身就是一個加密的證書,所以用這兩個文件就可以讓其他mac設備使用了:

拿到這兩個文件后,依次雙擊“證書”,“.p12“文件(需要輸入密碼,密碼就是當時生成.p12時設定的密碼,),作用是加入鑰匙串中,使我們的電腦具備開發的證明,”描述文件“(作用是置于xcode中,讓xcode知道我們開發的合法性),添加完后就可以使用了。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,546評論 6 533
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,570評論 3 418
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 176,505評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,017評論 1 313
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,786評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,219評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,287評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,438評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,971評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,796評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,995評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,540評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,230評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,662評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,918評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,697評論 3 392
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,991評論 2 374

推薦閱讀更多精彩內容

  • 轉自千葉飛雪的文章:http://www.lxweimin.com/p/8eff18ad88b3 對于iOS開發者來...
    BetterComingDay閱讀 2,108評論 0 1
  • 在iOS開發過程中,不可避免的要和證書打交道,真機調試、App上架、打包給測試去測試等都需要搞證書。在此過程...
    進無盡閱讀 2,869評論 2 6
  • 在iOS開發過程中,不可避免的要和證書打交道,真機調試、App上架、打包給測試去測試等都需要搞證書。在此過程中我們...
    TIME_for閱讀 17,991評論 68 477
  • 青衣,在旦行里占著最主要的位置,所以也叫正旦。 青衣是因所扮演的角色常穿青色褶子而得名。北方劇種多稱青衣,南方劇種...
    水秀清蓮閱讀 1,370評論 0 5
  • 這天,師徒四人走到深山。唐僧餓了,悟空便跳上云端一望,“南山一片鮮紅,想必是成熟的山桃,待我摘些來與師父充饑?!蔽?..
    結構學AI閱讀 683評論 0 2