iOS開發(fā)中不能避免的證書

關(guān)于iOS開發(fā)中的證書總結(jié)

文章同步在個(gè)人主頁(yè)~
最近發(fā)現(xiàn)自己對(duì)apple的證書還是不太熟悉,雖然平常給測(cè)試打包,上預(yù)發(fā)布,發(fā)布什么的基本都沒有問題,但有時(shí)候碰到一些問題的時(shí)候,還是會(huì)焦頭爛額,還是對(duì)基本的一些東西不太熟悉,今天就好好整理總結(jié)一下.

Part One

打開開發(fā)者中心,先看一下基本的框架:


Certification:證書
1.Developer Certification:開發(fā)者證書;
2.Distribution Certificatio:發(fā)布證書;
3.Pending:未處理(例如未完成填寫信息的證書會(huì)在這里出現(xiàn));

Identifiers:標(biāo)識(shí)
1.App IDs:應(yīng)用程序ID;它應(yīng)該和你Xcode中的bundle ID一樣;App ID分為兩種:一種是以com.ErosLii.newer命名的唯一的一個(gè)ID,還有一種是統(tǒng)配的Wildcard App ID,類似于正則表達(dá)式的樣子,com.erosLii.*標(biāo)示所有com.erosLii.開頭的都可以用;
2.Pass Type IDs:當(dāng)你的應(yīng)用程序想要存儲(chǔ)一些銀行卡啊之后的東西到自帶的應(yīng)用Wallet中的時(shí)候需要這個(gè)證書;
3.Website Push IDs:用于通過服務(wù)器向Safari推送服務(wù)(這個(gè)暫時(shí)沒搞懂,還望大家指正);
4.iCloud Containers:這個(gè)是用作iCloud存儲(chǔ)用的,你要先有一個(gè)iCloud-enabled provisioning profile,再在這里設(shè)定Container ID;這里有一篇文章可供了解
5.App Groups:這是iOS8新開放的功能,主要用于同一group下的app共享同一份讀寫空間,以實(shí)現(xiàn)數(shù)據(jù)共享.同樣,推薦這里的一篇文章用作了解;
6.Merchant IDs:關(guān)于這里,如果你之前和我一樣不了解,那從2016年開始,你就必須要盡快了解了.它是用來支持Apple Pay,同樣,去看看文檔吧~

Devices:
這個(gè)就比較簡(jiǎn)單了;配置你的測(cè)試機(jī)器,出現(xiàn)在devices名單中的設(shè)備可供安裝調(diào)試;但是要知道每個(gè)賬戶中的設(shè)備數(shù)量限制是100個(gè)。Disable一臺(tái)設(shè)備也不會(huì)增加名額混坞,只能在membership year 開始的時(shí)候才能通過刪除設(shè)備來增加名額。

Provisioning Profiles:描述文件(它是一個(gè)包含了以上三項(xiàng)的綜合體,你在Xcode中的build setting中選擇使用的就是這家伙)
1.Development:開發(fā);
2.Distribution:發(fā)布;

Part Two

首先來說證書,證書是用來給應(yīng)用程序簽名的龙致,只有經(jīng)過簽名的應(yīng)用程序才能保證他的來源是可信任的,并且代碼是完整的,未經(jīng)修改的,在申請(qǐng)我們的第一個(gè)證書之前,我們需要上傳有我們本地(鑰匙串)生成的一個(gè).CSR文件,這個(gè)過程中實(shí)際上是生成了一對(duì)公鑰和私鑰荐类,保存在你Mac的Keychain中锌雀。代碼簽名正是使用這種基于非對(duì)稱秘鑰的加密方式,用私鑰進(jìn)行簽名锹漱,用公鑰進(jìn)行驗(yàn)證。證書中包含了公鑰,當(dāng)你打包的時(shí)候,選擇這書之后,蘋果就會(huì)用私鑰進(jìn)行認(rèn)證簽名,確保這是你本人的更改和行為,所以要保存好私鑰,一是可以給他人共享,二是如果丟失,那你這個(gè)證書也就不能用了,需要銷毀重新生成一個(gè)新的證書

1.Developer Certification
可以創(chuàng)建以下類型的開發(fā)證書:
-App Development (1年):用來開發(fā)和真機(jī)調(diào)試應(yīng)用程序.
-Push Development (1年):用來調(diào)試Apple Push Notification.
我們可以使用鑰匙串生成副本(p12文件),供團(tuán)隊(duì)測(cè)試打包使用.

2.Production Certificate
可以創(chuàng)建以下類型的發(fā)布證書:
-In-House and Ad Hoc (3年):用來發(fā)布In-House和AdHoc的應(yīng)用程序慕嚷。
-App Store:用來發(fā)布提交App Store.
-MDM CSR:商業(yè)應(yīng)用分發(fā)(我們公司用的就是這個(gè));
-Push Production((1年):用來在發(fā)布版本中使用Apple Push Notification.
-Pass Type ID Certificate:這個(gè)我上文提到了;
-Website Push ID Certificate:同上;
發(fā)布證書安裝在電腦上提供發(fā)布iOS程序的權(quán)限,開發(fā)人員可以制做測(cè)試版和發(fā)布版的程序,僅有配置該證書的電腦才可使用,而且不可以生成副本.也就是只有一個(gè)人可以執(zhí)行發(fā)布的任務(wù);

Part Three

再來說說描述文件,或者叫做授權(quán)文件;一個(gè)Provisioning Profile文件包含了上述的所有內(nèi)容:證書哥牍、App ID、設(shè)備喝检。開發(fā)者帳號(hào)在創(chuàng)建授權(quán)文件時(shí)候會(huì)選擇App Id嗅辣,(開發(fā)者帳號(hào)下App Id中添加,單選)和UDID(開發(fā)者帳號(hào)下Devices中添加最多100個(gè)挠说,多選)

試想一下澡谭,如果我們要打包或者在真機(jī)上運(yùn)行一個(gè)應(yīng)用程序,我們首先需要證書來進(jìn)行簽名损俭,用來標(biāo)識(shí)這個(gè)應(yīng)用程序是合法的蛙奖、安全的、完整的等等杆兵;然后需要指明它的App ID雁仲,并且驗(yàn)證Bundle ID是否與其一致;再次琐脏,如果是真機(jī)調(diào)試攒砖,需要確認(rèn)這臺(tái)設(shè)備能否用來運(yùn)行程序。而Provisioning Profile就把這些信息全部打包在一起日裙,方便我們?cè)谡{(diào)試和發(fā)布程序打包時(shí)使用吹艇,這樣我們只要在不同的情況下選擇不同的profile文件就可以了。而且這個(gè)Provisioning Profile文件會(huì)在打包時(shí)嵌入.ipa的包里阅签。

在網(wǎng)上找到一張圖片:


Profile工作原理

1.Developer Provisioning Profile(1年)
開發(fā)人員在code sign中選擇該授權(quán)文件,即可進(jìn)行真機(jī)測(cè)試,前提是安裝了開發(fā)證書,bundleID和AppID一樣,并且連接調(diào)試的設(shè)備的UDID在選中的授權(quán)文件中有記錄;

2.Distribution Provisioning Profile(1年)
發(fā)布版就是發(fā)布到App Store上的程序文件掐暮,開發(fā)者帳號(hào)創(chuàng)建授權(quán)文件時(shí)選擇store選項(xiàng)蝎抽,選擇App Id政钟,無需選擇UDID路克;在裝有發(fā)布證書的電腦上(即配置證書的電腦,只有一臺(tái))發(fā)布;

關(guān)于這里有一些小東西要注意,在個(gè)人開發(fā)的時(shí)候一般不會(huì)有什么問題,但是目前在我的公司,iOS開發(fā)者有20多個(gè)人的時(shí)候再Git同步或者打包的時(shí)候偶爾會(huì)有一些問題,命名profile和證書都是正確的,但是還會(huì)編譯失敗,下次在iOS開發(fā)知識(shí)點(diǎn)匯總中記一下吧.

Part Four - Summary

最后還是要說一下開發(fā)的流程,雖然大家可能都已經(jīng)知道了,但是我一片完整的流程怎么能沒有這個(gè)說明呢,哈哈.
1.申請(qǐng)證書;(包括了本地生成CSR文件,生成證書,下載導(dǎo)出);
2.將調(diào)試設(shè)備加入Devices中;
3.生成Provisioning Profile(描述文件名稱,選擇證書,AppID以及Devices,下載導(dǎo)出);
4.Xcode的Code Signing中真確選擇;
我說的比較簡(jiǎn)單,如果你是一個(gè)新手,這里有一篇文章,寫的極其詳細(xì),你可以參考.

最后,希望我的文章能幫到你,與君共勉.

==轉(zhuǎn)載請(qǐng)務(wù)必注明出處==.
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末养交,一起剝皮案震驚了整個(gè)濱河市精算,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌碎连,老刑警劉巖灰羽,帶你破解...
    沈念sama閱讀 216,496評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異鱼辙,居然都是意外死亡廉嚼,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門倒戏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來怠噪,“玉大人,你說我怎么就攤上這事杜跷“睿” “怎么了?”我有些...
    開封第一講書人閱讀 162,632評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵葛闷,是天一觀的道長(zhǎng)憋槐。 經(jīng)常有香客問我,道長(zhǎng)淑趾,這世上最難降的妖魔是什么阳仔? 我笑而不...
    開封第一講書人閱讀 58,180評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮扣泊,結(jié)果婚禮上驳概,老公的妹妹穿的比我還像新娘。我一直安慰自己旷赖,他們只是感情好顺又,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,198評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著等孵,像睡著了一般稚照。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上俯萌,一...
    開封第一講書人閱讀 51,165評(píng)論 1 299
  • 那天果录,我揣著相機(jī)與錄音,去河邊找鬼咐熙。 笑死弱恒,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的棋恼。 我是一名探鬼主播返弹,決...
    沈念sama閱讀 40,052評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼锈玉,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了义起?” 一聲冷哼從身側(cè)響起拉背,我...
    開封第一講書人閱讀 38,910評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎默终,沒想到半個(gè)月后椅棺,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,324評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡齐蔽,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,542評(píng)論 2 332
  • 正文 我和宋清朗相戀三年两疚,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片含滴。...
    茶點(diǎn)故事閱讀 39,711評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡鬼雀,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蛙吏,到底是詐尸還是另有隱情源哩,我是刑警寧澤,帶...
    沈念sama閱讀 35,424評(píng)論 5 343
  • 正文 年R本政府宣布鸦做,位于F島的核電站励烦,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏泼诱。R本人自食惡果不足惜坛掠,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,017評(píng)論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望治筒。 院中可真熱鬧屉栓,春花似錦、人聲如沸耸袜。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)堤框。三九已至域滥,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蜈抓,已是汗流浹背启绰。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留沟使,地道東北人委可。 一個(gè)月前我還...
    沈念sama閱讀 47,722評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像腊嗡,于是被迫代替她去往敵國(guó)和親着倾。 傳聞我的和親對(duì)象是個(gè)殘疾皇子拾酝,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,611評(píng)論 2 353

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