iOS開發(fā)證書报慕、bundle ID深浮、App ID、描述文件眠冈、p12文件飞苇,及企業(yè)證書打包發(fā)布詳述

1 .iOS開發(fā)證書菌瘫,描述文件,bundle ID的關(guān)系

蘋果為了控制應(yīng)用的開發(fā)與發(fā)布流程布卡,制定了一套非常復(fù)雜的機(jī)制雨让。這里面的關(guān)鍵詞有:個(gè)人開發(fā)者賬號(hào),企業(yè)開發(fā)者賬號(hào)忿等,bundle ID栖忠,開發(fā)證書,發(fā)布證書(又叫“生產(chǎn)證書”)贸街,開發(fā)描述文件庵寞,發(fā)布描述文件,推送證書等...薛匪。初級(jí)開發(fā)者很難理解這中間的關(guān)系和作用捐川。下文就對(duì)上述列出的關(guān)鍵內(nèi)容和它們的關(guān)系做個(gè)詳細(xì)介紹。

  • 開發(fā)者賬號(hào)
    開發(fā)者賬號(hào)其實(shí)就是apple id蛋辈,只不過(guò)要成為開發(fā)者属拾,需要去蘋果開發(fā)者中心激活開發(fā)權(quán)限将谊。激活開發(fā)者賬號(hào)分為三種冷溶,個(gè)人,公司和企業(yè)尊浓。這三種賬號(hào)各自有些區(qū)別逞频,下表是他們主要區(qū)別的對(duì)比:
賬號(hào)類型 支持applestroe上架 測(cè)試設(shè)備數(shù)量 申請(qǐng)費(fèi)用 申請(qǐng)需要
個(gè)人 100 99$
公司 100 99$ 鄧氏碼
企業(yè) 不限 299$ 鄧氏碼

所以如果應(yīng)用需要上appstroe,就要?jiǎng)?chuàng)建個(gè)人或者公司類型的賬號(hào)栋齿;
如果只想內(nèi)部發(fā)布苗胀,就可以申請(qǐng)企業(yè)賬號(hào);
個(gè)人賬號(hào)和公司賬號(hào)的區(qū)別就是公司賬號(hào)能邀請(qǐng)多個(gè)賬號(hào)瓦堵,他們可以和你共享資源協(xié)同開發(fā)此應(yīng)用基协,而不需要總是問(wèn)你要你的賬號(hào)使用。

  • bundle ID
    bundle ID可以翻譯成包ID,也可以叫APP ID 或應(yīng)用ID,它是每一個(gè)ios應(yīng)用的全球唯一標(biāo)識(shí)菇用。無(wú)論代碼怎么改澜驮,圖標(biāo)和應(yīng)用名稱怎么換,只要bundle id沒(méi)變惋鸥,ios系統(tǒng)就認(rèn)為這是同一個(gè)應(yīng)用杂穷。每開發(fā)一個(gè)新應(yīng)用,首先都需要到member center->identifier->APP IDS去創(chuàng)建一個(gè)bundle id卦绣。但是bundle id分為兩種:
    Explicit App ID(明確的APP ID)耐量,一般格式是:com.domainname.appname。這種id只能用在一個(gè)app上滤港。每一個(gè)新應(yīng)用都要?jiǎng)?chuàng)建一個(gè)。
    Wildcard App ID(通配符APP ID), 一般格式是:com.domainname.*。這種id可以用在多個(gè)應(yīng)用上八堡,雖然方便聘芜,但是使用這種id的應(yīng)用不能使用通知功能兄渺,所以并不常用汰现。

  • iOS Certificates(證書)
    ios certificates就是證書。它的作用就是證明你的mac具有開發(fā)或發(fā)布某個(gè)開發(fā)者賬號(hào)下應(yīng)用的權(quán)限瞎饲。而且證書還分成兩種口叙,一種是開發(fā)證書(Development certificate); 另一種是發(fā)布證書或叫生產(chǎn)證書(Production certificate)嗅战。
    1 .development certificate
    開發(fā)證書是證明你的mac具有開發(fā)和真機(jī)調(diào)試你的程序的東西。但是每個(gè)證書關(guān)聯(lián)著一個(gè)開發(fā)者賬號(hào)疟呐,也就是說(shuō)东且,你只能使用這個(gè)證書開發(fā)這個(gè)賬號(hào)底下的應(yīng)用珊泳,它是通過(guò)bundle id來(lái)知道該應(yīng)用是不是屬于自己的賬號(hào)。所以每次為一個(gè)開發(fā)者帳號(hào)開發(fā)應(yīng)用薯演,就得需要這個(gè)賬號(hào)創(chuàng)建的開發(fā)證書秧了。
    2 .Production certificate
    生產(chǎn)證書是證明你的mac是否具有發(fā)布應(yīng)用的權(quán)限示惊。在archive到appstore的時(shí)候,必須有生產(chǎn)證書钧汹,否則時(shí)上傳不成功的拔莱。
    3.根證書
    無(wú)論是開發(fā)證書還是生產(chǎn)證書,都必須從根證書上派生讼渊。根證書就是根mac產(chǎn)生的證書尊剔,menber center上保存的那個(gè)證書就是根證書须误,它只能安裝在創(chuàng)建它的那臺(tái)mac上,其他的開發(fā)mac必須從那臺(tái)根mac上導(dǎo)出證書使用奶甘。也就是所有的子證書都只能從根證書派生而來(lái)祭椰。

  • iOS Provisioning Profiles(描述文件)
    描述文件它用來(lái)標(biāo)識(shí)某個(gè)設(shè)備是否具有安裝某個(gè)應(yīng)用的權(quán)限方淤。描述文件分為開發(fā)描述文件發(fā)布描述文件。其中發(fā)布描述文件又分為臨時(shí)發(fā)布描述文件和正式發(fā)布描述文件橄霉。
    1 . 開發(fā)描述文件(develop provisioning profile)
    開發(fā)描述文件,創(chuàng)建它需要bundle ID + 開發(fā)證書 + 測(cè)試設(shè)備(在devices中添加); 編譯的時(shí)候必須三者對(duì)應(yīng)医吊,否則編譯器會(huì)報(bào)錯(cuò)逮京。
    2 . 臨時(shí)發(fā)布描述文件(distribution ad hoc)
    臨時(shí)發(fā)布描述文件是用來(lái)在有限設(shè)備上發(fā)布的懒棉。創(chuàng)建它需要bundle ID +發(fā)布證書+發(fā)布設(shè)備,編譯時(shí)也必須三者對(duì)應(yīng)穗慕。
    3 . 正式發(fā)布描述文件(distribution appstore/distribution ad house)
    個(gè)人賬號(hào)和企業(yè)賬號(hào)創(chuàng)建的正式發(fā)布描述文件是不同的妻导。因?yàn)?code>個(gè)人賬號(hào)是在appstrore上發(fā)布,所以創(chuàng)建的是distribution appstore描述文件瓢对,而企業(yè)賬號(hào)只能內(nèi)部發(fā)布胰苏,所以創(chuàng)建的叫distribution ad house描述文件硕并。但是它們創(chuàng)建所需要的東西都是一樣的:bundle ID + 發(fā)布證書因?yàn)樗麄兪窃诓淮_定的設(shè)備上安裝的壶栋,所以不需要選擇設(shè)備贵试。


2. Apple開發(fā)賬號(hào)添加團(tuán)隊(duì)成員

申請(qǐng)了一個(gè)公司或企業(yè)級(jí)的蘋果開發(fā)者賬號(hào)凯正,可以添加團(tuán)隊(duì)成員協(xié)同開發(fā)廊散。
團(tuán)隊(duì)成員有三種角色,分別是 Agent (代理)运准, Admin (管理)胁澳,Member (成員)米者。
代理: 就是注冊(cè)開發(fā)者賬號(hào)的那一個(gè)蔓搞,權(quán)限最高,續(xù)費(fèi)和創(chuàng)建開發(fā)商證書只能使用該賬號(hào)锦庸;
管理: 管理分發(fā)證書酸员、管理測(cè)試設(shè)備、管理應(yīng)用配置等等酿愧;
成員: 沒(méi)有管理權(quán)限邀泉,只能下載和請(qǐng)求數(shù)據(jù)汇恤。
關(guān)于團(tuán)隊(duì)成員的詳細(xì)介紹因谎,可見(jiàn):官方文檔
開發(fā)者中心登錄開發(fā)者賬號(hào),可以看到開發(fā)者信息如下:

成員結(jié)構(gòu)圖.png

添加團(tuán)隊(duì)成員:
1 . 使用代理或管理員賬號(hào)登錄開發(fā)者中心
2 . 選中People

image.png

3 . 選擇邀請(qǐng)人Invite People
image.png

4 .可以邀請(qǐng)成為管理員或者成為開發(fā)人員,填寫對(duì)應(yīng)開發(fā)者AppleID的郵箱地即可(可以填寫一個(gè)或多個(gè))桐款,需要在30天內(nèi)接受魔眨。
image.png

5 . 點(diǎn)擊Invite按鈕后遏暴,被添加人的郵箱會(huì)受到一封郵件执虹,點(diǎn)擊View invitation,然后選擇Accept接受成為開發(fā)者袋励。
image.png

image.png

這樣就添加了一個(gè)新的開發(fā)者茬故。

6.可以更改其他管理員成員權(quán)限或者移除其他管理員和成員

image.png

參看官方文檔

3 .開發(fā)證書磺芭,生產(chǎn)證書钾腺,描述文件,AppID關(guān)系及生成姻报。

  • 首先要申請(qǐng)證書间螟,申請(qǐng)?zhí)O果開發(fā)者賬號(hào)教程厢破,還沒(méi)有的話申請(qǐng)一個(gè)或者借用摩泪、這里不再詳敘。
    登錄開發(fā)者中心,如果還沒(méi)申請(qǐng)證書嚷掠,界面如下:
    沒(méi)有證書界面.png

    如果有證書登錄界面如下:
    已經(jīng)申請(qǐng)過(guò)證書登錄界面.png
  • 有賬號(hào)后就可以正式開發(fā)上架了叠国,具體流程如下:
    1 .生成開發(fā)和發(fā)布證書
    (1).通過(guò)鑰匙串獲取證書請(qǐng)求文件Certificate Signing Request (CSR)文件粟焊。
    選擇“鑰匙串訪問(wèn)”-“證書助理”-“從證書頒發(fā)機(jī)構(gòu)請(qǐng)求證書…”,如下圖:
    image.png

    填寫郵件地址和常用名稱项棠,選擇“存儲(chǔ)到磁盤”,會(huì)生成一個(gè)CSR文件到本地磁盤香追。
    image.png

    生成的CSR.png

    (2) . 登錄開發(fā)者中心透典,選擇Certificates, Indentifiers & Profiles可以獲取開發(fā)和發(fā)布證書顿苇。
    Certificates -> All -> +
    image.png

    選擇In-House and Ad Hoc是發(fā)布證書,選擇iOS App Development是打包證書纪岁。下面選擇發(fā)布證書
    image.png

    Choose File選擇生成的的CSR文件幔翰,點(diǎn)擊generate生成cer證書。
    image.png

    可以看見(jiàn)生成的開發(fā)和生產(chǎn)證書如下:
    開發(fā)證書.png

    生產(chǎn)證書.png

    選擇Download下載到本地,然后雙擊或拖拽到鑰匙串中安裝
    下載證書.png

    安裝后的開發(fā)和發(fā)布證書.png

    2 . 生成App ID可都。
    選擇Identfiers -> App IDs -> +
    image.png

    Name 可以隨便填渠牲,但不能是中文和特殊符號(hào)步悠,主要起描述作用鼎兽。
    Bundle ID就是App的Bundle ID完全一樣,全球唯一,一般格式是:com.domainname.appname鹦付。
    注冊(cè)App ID.png

    還可以選擇NFC,推送等功能敲长,選中Continue -> Register -> Done ;就完成了App ID 的注冊(cè)祈噪。
    其他服務(wù)功能.png

    App ID注冊(cè)成功.png

3 . 生成描述文件Provisioning Profile(企業(yè)版不需要device即iPhone的UDID辑鲤,因此跳過(guò))杠茬。
選擇Provisioning Profile->All -> +:

點(diǎn)擊加號(hào)生產(chǎn)描述文件.png

iOS App Development是開發(fā)證書的描述文件瓢喉,n House是企業(yè)發(fā)布證書的描述文件灯荧。
選擇要生成的描述文件的類型.png

選擇剛剛生產(chǎn)的App ID,點(diǎn)擊Continue逗载。
image.png

選擇剛剛生產(chǎn)的開發(fā)或發(fā)布證書:
選中證書.png

填寫描述文件名稱厉斟,可以隨便填,便于自己理解就好码荔。
填寫描述文件名稱.png

可以下載描述文件雙擊安裝缩搅,也可以去項(xiàng)目中Xcode的偏好設(shè)置去下載安裝:
下載安裝.png

Xcode中下載安裝描述文件.png

現(xiàn)在應(yīng)用程序就可以打包上線啦硼瓣!

4.證書導(dǎo)出p12文件

  • 為什么要導(dǎo)出.p12文件?
    當(dāng)我們用大于三個(gè)mac設(shè)備開發(fā)應(yīng)用時(shí)堂鲤,想要申請(qǐng)新的證書媒峡,如果在我們的證書里谅阿,包含了3個(gè)發(fā)布證書,6個(gè)開發(fā)證書镜沽,可以發(fā)現(xiàn)再也申請(qǐng)不了開發(fā)證書和發(fā)布證書了贱田。(一般在我們的證書界面中應(yīng)該只有一個(gè)開發(fā)證書男摧,一個(gè)發(fā)布證書,沒(méi)必要生成那么多的證書拇颅,證書一般在過(guò)期之后才會(huì)重新添加樟插。)會(huì)提示超過(guò)了最大數(shù)量,并且不能選擇生產(chǎn)證書了搪缨。如下圖:
    image.png
  • 不能添加證書的解決辦法副编。
    1 .撤銷(Revoke)已經(jīng)生成的證書(不建議使用)流强,然后重新生成一個(gè)新的證書打月。如下圖:
    撤銷證書.png

    注意:這種方法是可以的僵控,但是會(huì)造成相應(yīng)的Provisioning Profiles失效,這是小問(wèn)題悠就。但是又要重新申請(qǐng)證書甚至描述文件很浪費(fèi)時(shí)間充易,所以不提倡這種做法盹靴。
    2 . 導(dǎo)出.p12文件
    每一個(gè)證書都可以生成一個(gè).p12文件,這個(gè)文件是一個(gè)加密的文件梭冠,只要知道其密碼控漠,就可以供給所有的mac設(shè)備使用悬钳,使設(shè)備不需要在蘋果開發(fā)者網(wǎng)站重新申請(qǐng)開發(fā)和發(fā)布證書默勾,就能使用。
    注意:一般.p12文件是給與別人使用的滞诺,本機(jī)必須已經(jīng)有一個(gè)帶秘鑰的證書才可以生成.p12文件
    打開鑰匙串->我的證書,選擇要導(dǎo)出的證書骤宣,右鍵選擇導(dǎo)出“....”證書。如下圖:
    image.png

    填寫要導(dǎo)出證書名稱爸吮,保存的地址路徑望门,文件類型選擇為個(gè)人信息交換(.p12)
    image.png

    設(shè)置密碼:
    設(shè)置密碼.png

    生成的p12文件桐早,將p12文件厨剪,密碼祷膳,和描述文件發(fā)給別人就可正常開發(fā)啦。
    image.png

    p12文件和描述文件.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市罩句,隨后出現(xiàn)的幾起案子敛摘,更是在濱河造成了極大的恐慌着撩,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,490評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異薯鳍,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)崩溪,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門伶唯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)乳幸,“玉大人,你說(shuō)我怎么就攤上這事符欠∠J粒” “怎么了养筒?”我有些...
    開封第一講書人閱讀 165,830評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵闽颇,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我尖啡,道長(zhǎng)衅斩,這世上最難降的妖魔是什么怠褐? 我笑而不...
    開封第一講書人閱讀 58,957評(píng)論 1 295
  • 正文 為了忘掉前任奈懒,我火速辦了婚禮磷杏,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘慈格。我一直安慰自己,他們只是感情好蒜田,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,974評(píng)論 6 393
  • 文/花漫 我一把揭開白布冲粤。 她就那樣靜靜地躺著色解,像睡著了一般餐茵。 火紅的嫁衣襯著肌膚如雪忿族。 梳的紋絲不亂的頭發(fā)上蝌矛,一...
    開封第一講書人閱讀 51,754評(píng)論 1 307
  • 那天入撒,我揣著相機(jī)與錄音茅逮,去河邊找鬼。 笑死碉考,一個(gè)胖子當(dāng)著我的面吹牛挺身,可吹牛的內(nèi)容都是我干的章钾。 我是一名探鬼主播,決...
    沈念sama閱讀 40,464評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼串纺!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起榄笙,我...
    開封第一講書人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤茅撞,失蹤者是張志新(化名)和其女友劉穎巨朦,沒(méi)想到半個(gè)月后糊啡,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,847評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,995評(píng)論 3 338
  • 正文 我和宋清朗相戀三年稍算,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了役拴。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片河闰。...
    茶點(diǎn)故事閱讀 40,137評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡淤击,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出汞贸,到底是詐尸還是另有隱情矢腻,我是刑警寧澤射赛,帶...
    沈念sama閱讀 35,819評(píng)論 5 346
  • 正文 年R本政府宣布楣责,位于F島的核電站,受9級(jí)特大地震影響初嘹,放射性物質(zhì)發(fā)生泄漏屯烦。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,482評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望翁狐。 院中可真熱鬧露懒,春花似錦渐北、人聲如沸普泡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)荞怒。三九已至,卻和暖如春秧秉,著一層夾襖步出監(jiān)牢的瞬間褐桌,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工象迎, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留荧嵌,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,409評(píng)論 3 373
  • 正文 我出身青樓砾淌,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親汪厨。 傳聞我的和親對(duì)象是個(gè)殘疾皇子赃春,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,086評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容