新聞中心
本文結(jié)合作者的工作經(jīng)歷對iOS的證書(certificate)及配置文件(provisioning profile)做個總結(jié)。
專注于為中小企業(yè)提供成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè)服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)蕪湖免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了1000多家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。
1. 發(fā)布流程
在開發(fā)及發(fā)布過程中,都會用到證書及相關(guān)的配置文件。規(guī)范的配置可以保證你的應(yīng)用在上架后不會因為證書問題被審核拒絕或者影響用戶使用。
2. 代碼簽名(Code signing)
只有通過代碼簽名的應(yīng)用才能保證其來源是可靠的,并且代碼是完整的、沒被更改的。代碼簽名由簽名標示(signing identity)及配置文件(provisioning profile)共同構(gòu)成。
簽名標識(由蘋果提供的算法生成的一對公私鑰組成),Xcode通過你的簽名來創(chuàng)建應(yīng)用。
如圖所示,Juan Chavez上傳他的公鑰到蘋果,用以生成屬于他的開發(fā)/產(chǎn)品環(huán)境證書(certificates),持有他私鑰的電腦生成的應(yīng)用才能匹配成功,從而保證編譯/提交成功的第一個條件。編譯需要在本機安裝開發(fā)環(huán)境的.cer證書,發(fā)布需要在蘋果官方持有有效的產(chǎn)品.cer證書。
保證編譯/提交成功的第二個條件是配置文件(provisioning profile)。該文件在蘋果開發(fā)者后臺中生成,關(guān)于如何生成,參考3.2。
3. 證書、配置文件
如果你恰好擁有APP的后臺管理員權(quán)限,那么在蘋果開發(fā)者后臺將可以查看到"Certificates, IDs & Profiles"菜單。該目錄下,有Certificates, Identifiers, Devices & Provisioning Profiles四個二級菜單。它們的關(guān)系用一張圖來表示:
(1) 證書(Certificates)
證書是用于應(yīng)用簽名的,證書包含開發(fā)(development)和產(chǎn)品(production)兩套環(huán)境。
一般而言,開發(fā)環(huán)境會為每位開發(fā)者創(chuàng)建一個開發(fā)者證書,發(fā)布版本會有一個共同的產(chǎn)品證書。此外,如果應(yīng)用包含其他的調(diào)用服務(wù),如通知 (app push notification service),則會單獨生成相應(yīng)的證書。
生成證書的步驟就不再累述了,按引導(dǎo)完成即可。
(2) 配置文件(Provisioning Profiles)
相對于證書(certificates),配置文件(provisioning profiles)也有開發(fā)/產(chǎn)品兩套。
用于開發(fā)的配置文件(iOS Development)
該文件主要用于開發(fā)者在沙盒手機上測試,因此創(chuàng)建該配置文件時,需要勾選相關(guān)的開發(fā)者證書(哪些開發(fā)人員編譯的包有權(quán)限運行),及相關(guān)沙盒手機設(shè)備(該設(shè)備在Devices中注冊)。
用于發(fā)布的配置文件(iOS Distribution)
該文件用于上傳包到TestFlight及蘋果應(yīng)用商城。因此創(chuàng)建該配置文件時,需要勾選用于發(fā)布的證書。
值得注意的是,一旦任何的證書失效,其相關(guān)的配置文件也將變得無效,此時可以重新生成新的證書,但只需要編輯對應(yīng)的配置文件,刷新它的相關(guān)證書即可。
在Xcode中開發(fā)/發(fā)布切換證書及配置文件:
4. p12文件
如上述所示,證書(certificates)是驗證應(yīng)用是否有效的憑證。但證書都是直接安裝在mac系統(tǒng)里的,如何讓它導(dǎo)入到其他系統(tǒng)中,以便通過該應(yīng)用ID去請求蘋果的其他服務(wù)(如通知等)?
這個時候,就需要用到.p12文件。.p12文件是通過特殊格式化及加密處理的,包含應(yīng)用證書的文件。其導(dǎo)出方式如下:
在很多的移動應(yīng)用代理平臺,既是用.p12的方法,讓用戶提交自己應(yīng)用的p12文件到代理平臺,由平臺來中轉(zhuǎn)相關(guān)請求/響應(yīng)。
此外,由于用于發(fā)布的證書有且只能有一個處于激活狀態(tài),而證書的生成只能包含一個開發(fā)者ID的私鑰。如果團隊中需要多人承擔(dān)發(fā)布版本的職能,目前能想到的辦法為:
創(chuàng)建一個專門用于發(fā)布版本的開發(fā)者ID,用其綁定發(fā)布證書
導(dǎo)出該開發(fā)者ID證書的.p12文件,并分享給相關(guān)發(fā)布人員
發(fā)布人員發(fā)布版本時,通過公共開發(fā)者ID打包發(fā)布
如果讀者有更好的辦法,請賜教,謝謝。
希望這篇文章能為你帶來幫助!
相關(guān)資料:
About App Distribution Workflows
Maintaining Your Signing Identities and Certificates
Maintaining Identifiers, Devices, and Profiles
當前題目:iOS證書及配置文件設(shè)置
本文網(wǎng)址:http://fisionsoft.com.cn/article/gdpdpd.html