蘋(píng)果有一套十分繁復(fù)的開(kāi)發(fā)者證書(shū)機(jī)制, 每次梳理明白了, 過(guò)一段時(shí)間又亂了. 這篇日志記錄一下梳理過(guò)程, 用來(lái)以后溫習(xí)之用.
蘋(píng)果開(kāi)發(fā)者證書(shū), 你一定看到過(guò)這些東西:
- certSigningRequest文件 (簡(jiǎn)稱(chēng)CSR文件)
- cer文件
- p12文件
- Certificates (證書(shū))
- Identifiers (bundle id)
- Devices (設(shè)備)
- Provisioning Profiles (描述文件)
- pem文件
通過(guò)該場(chǎng)景, 可以將所有的這些文件聯(lián)系在一起:
現(xiàn)在你的公司要開(kāi)發(fā)iOS軟件myBookApp, 公司有蘋(píng)果開(kāi)發(fā)者賬號(hào)a, 而你是這個(gè)項(xiàng)目的負(fù)責(zé)人, 你手下還有兩個(gè)做iOS的小弟打下手,他們分別是小明和小紅. myBookApp擁有推送功能, 以下介紹這個(gè)項(xiàng)目如何創(chuàng)建證書(shū)和開(kāi)發(fā):
1.創(chuàng)建id
首先, 你要登陸開(kāi)發(fā)者中心, 登陸開(kāi)發(fā)者賬號(hào), 在 Identifiers 節(jié)點(diǎn)為這個(gè)項(xiàng)目創(chuàng)建一個(gè)bundle id: com.mlgbcompany.mybook, 并在下邊勾選Push Notifications 推送服務(wù).
2.創(chuàng)建證書(shū).
在 Certificates節(jié)點(diǎn) 可以創(chuàng)建證書(shū), 證書(shū)分為Development(開(kāi)發(fā)證書(shū))
和Production(發(fā)布證書(shū)). Development中的iOS App Development是開(kāi)發(fā)app時(shí)用的證書(shū), Push Notification是開(kāi)發(fā)版推送證書(shū).
Production 中的 App Store and Ad Hoc是發(fā)布app到應(yīng)用商店時(shí)用的證書(shū), Push Notification是發(fā)布版推送證書(shū).
創(chuàng)建證書(shū)時(shí), 需要上傳csr文件(certSigningRequest), 這個(gè)csr文件需要在你電腦打開(kāi)鑰匙串, 工具欄左上角的 鑰匙串訪問(wèn) - 證書(shū)助理 - 從證書(shū)頒發(fā)機(jī)構(gòu)請(qǐng)求證書(shū), 然后保存到磁盤(pán)即可得到這個(gè)csr文件, 該文件存有設(shè)備信息, 通過(guò)這個(gè)csr文件制作的證書(shū), 之后在本機(jī)才能獲取都私鑰(小鑰匙圖標(biāo)). 我們應(yīng)該妥善保管這個(gè)csr 文件. 因?yàn)橐院罂赡軙?huì)更換設(shè)備, 我們需要這個(gè)csr文件永久保存.
創(chuàng)建一個(gè)開(kāi)發(fā)版的證書(shū), 上傳csr文件, 完成后下載該證書(shū), 該證書(shū)為.cer文件. 雙擊這個(gè)文件, 會(huì)在你的鑰匙串中看到這個(gè)證書(shū), 點(diǎn)擊證書(shū)左邊的三角, 下邊會(huì)出現(xiàn)一行, 這一行有小鑰匙圖標(biāo), 這是私鑰, 可以導(dǎo)出為 p12文件. 導(dǎo)出p12文件以后, 就可以把這個(gè)p12分發(fā)給小明和小紅, 這樣他們?cè)谧约旱碾娔X上雙擊p12文件, 自己的鑰匙串也會(huì)多一個(gè)證書(shū), 就可以進(jìn)行開(kāi)發(fā)了. 這個(gè)p12也應(yīng)該保存一份, 供以后的開(kāi)發(fā)者使用. 小紅和小明雖然鑰匙串中頁(yè)有了這個(gè)證書(shū), 但是他們的這個(gè)證書(shū)并不能展開(kāi)出小鑰匙, 也就是說(shuō)他們只能使用這個(gè)證書(shū)卻不能導(dǎo)出這個(gè)證書(shū), 這就是因?yàn)檫@個(gè)證書(shū)是使用你的設(shè)備的csr制作的, 只有你的設(shè)備上的鑰匙串才能顯示小鑰匙那一行.
開(kāi)發(fā)版推送證書(shū)/發(fā)布版證書(shū)/發(fā)布版推送證書(shū) 都和以上同理.
3.注冊(cè)設(shè)備
4.制作描述文件
... 未完待續(xù)...
最后, 我們需要保存下來(lái)的文件:
certSigningRequest文件 (更換設(shè)備后才知道這東西很有用)
證書(shū)cer文件導(dǎo)出的p12文件(以供后來(lái)加入項(xiàng)目組的開(kāi)發(fā)人員使用)
...