之前工程中的Provisioning Profile文件過期,配置證書時入了不少坑,回過頭來總結(jié)下配置證書步驟和注意事項
對于iOS開發(fā)者來說损离,apple開發(fā)者賬號肯定不會陌生哼审。在開發(fā)中我們離不開它。下面分享一下關(guān)于iOS開發(fā)中所用的證書相關(guān)知識显设。
第一部分:成員介紹
1.Certification(證書)
證書是對電腦開發(fā)資格的認證框弛,每個開發(fā)者帳號有一套,分為兩種:
1)Developer Certification(開發(fā)證書)
安裝在電腦上提供權(quán)限:開發(fā)人員通過設(shè)備進行真機測試捕捂。
可以生成副本供多臺電腦安裝瑟枫;?
2)Distribution Certification(發(fā)布證書)
安裝在電腦上提供發(fā)布iOS程序的權(quán)限:開發(fā)人員可以制做測試版和發(fā)布版的程序。不可生成副本指攒,僅有配置該證書的電腦才可使用慷妙;
2.Provisioning Profile(授權(quán)文件)
授權(quán)文件是對設(shè)備如iPod Touch、iPad幽七、iPhone的授權(quán)景殷,文件內(nèi)記錄的是設(shè)備的UDID和程序的App Id,即:使被授權(quán)的設(shè)備可以安裝或調(diào)試Bundle identifier與授權(quán)文件中記錄的App Id對應(yīng)的程序澡屡。
開發(fā)者帳號在創(chuàng)建授權(quán)文件時候會選擇App Id猿挚,(開發(fā)者帳號下App Id中添加,單選)和UDID(開發(fā)者帳號下Devices中添加最多100個驶鹉,多選)绩蜻。
授權(quán)文件分為兩種,對應(yīng)相應(yīng)的證書使用:
1)Developer Provisioning Profile(開發(fā)授權(quán)文件)
在裝有開發(fā)證書或副本的電腦上使用室埋,開發(fā)人員選擇該授權(quán)文件通過電腦將程序安裝到授權(quán)文件記錄的設(shè)備中办绝,即可進行真機測試。
注意:確保電腦有權(quán)限真機調(diào)試姚淆,即安裝了開發(fā)證書或副本孕蝉;在開發(fā)工具中程序的Bundle identifier和選中使用的授權(quán)文件的App Id要一致;連接調(diào)試的設(shè)備的UDID在選中的授權(quán)文件中有記錄腌逢。
2)Distribution Provisioning Profile(發(fā)布授權(quán)文件)
在裝有發(fā)布證書的電腦上(即配置證書的電腦降淮,只有一臺)制做測試版和發(fā)布版的程序。
發(fā)布版就是發(fā)布到App Store上的程序文件搏讶,開發(fā)者帳號創(chuàng)建授權(quán)文件時選擇store選項佳鳖,選擇App Id,無需選擇UDID媒惕;
測試版就是在發(fā)布之前交給測試人員可同步到設(shè)備上的程序文件系吩,開發(fā)者帳號創(chuàng)建授權(quán)文件時選擇AdHoc,選擇App Id和UDID妒蔚;只有選中的UDID對應(yīng)的設(shè)備才可能安裝上通過該授權(quán)文件制做的程序穿挨。
3. Keychain(開發(fā)密鑰)
安裝證書成功的情況下證書下都會生成Keychain月弛,上面提到的證書副本(導(dǎo)出證書重新命名)就是通過配置證書的電腦導(dǎo)出Keychain(就是.p12文件)安裝到其他機子上,讓其他機子得到證書對應(yīng)的權(quán)限絮蒿。Developer Certification就可以制做副本Keychain分發(fā)到其他電腦上安裝尊搬,使其可以進行真機測試。
注意:Distribution Certification只有配置證書的電腦才可使用土涝,因此即使導(dǎo)出導(dǎo)出Keychain安裝到其他電腦上佛寿,其他電腦也不可能具有證書的權(quán)限。
第二部分:證書申請流程
登陸iOS Dev Center選擇進入iOS Provisioning Portal但壮。
在iOS Provisioning Portal中冀泻,點擊App IDs進入App ID列表。
創(chuàng)建 App ID蜡饵,如果 ID 已經(jīng)存在可以直接跳過此步驟
為 App 開啟 Push Notification 功能弹渔。如果是已經(jīng)創(chuàng)建的 App ID 也可以通過設(shè)置開啟 Push Notification 功能。
根據(jù)實際情況完善 App ID 信息并提交,注意此處需要指定具體的 Bundle ID 不要使用通配符溯祸。
配置和下載證書
如果你之前沒有創(chuàng)建過 Push 證書或者是要重新創(chuàng)建一個新的肢专,請在證書列表下面新建。
新建證書需要注意選擇證書種類(開發(fā)證書用于開發(fā)和調(diào)試使用焦辅,生產(chǎn)證書用于 App Store 發(fā)布)
點擊 Continue 后選擇證書對應(yīng)的應(yīng)用ID博杖,然后繼續(xù)會出現(xiàn)“About Creating a Certificate Signing Request (CSR)”。
根據(jù)它的說明創(chuàng)建打開KeychainAccess 創(chuàng)建 Certificate Signing Request筷登。
填寫“User Email Address”和“Common Name” 后選擇 Saved to disk 進行保存 剃根。
繼續(xù)返回Apple developer 網(wǎng)站點擊 Continue ,上傳剛剛生成的 .certSigningRequest 文件生成 APNs Push Certificate前方。
下載并雙擊打開證書狈醉,證書打開時會啟動“鑰匙串訪問”工具。
在“鑰匙串訪問”中你的證書會顯示在“我的證書”中惠险,注意選擇“My Certificates” 和"login"
導(dǎo)出 .p12 證書文件
注意要選“l(fā)ogin”和“My Certificates” 導(dǎo)出證書時要選中證書文件苗傅,不要展開private key。
將文件保存為Personal Information Exchange (.p12)格式班巩。
將文件保存為Personal Information Exchange (.p12)格式渣慕。
上傳證書
在JPush 管理 Portal 上,針對某應(yīng)用程序趣竣,上傳上面步驟得到 .p12 證書文件。這是 iOS SDK 能夠接收到 JPush 推送消息的必要步驟旱物。
Provisioning Profile的創(chuàng)建
創(chuàng)建Provisioning Profile的前提遥缕,已在Apple Developer網(wǎng)站創(chuàng)建待發(fā)布應(yīng)用所使用的Bundle ID的App ID,且為該App ID創(chuàng)建了APNs證書宵呛,如下圖:
創(chuàng)建App ID单匣、APN證書和p12證書的導(dǎo)出的具體步驟請看 :iOS 證書 設(shè)置指南
在蘋果開發(fā)者賬號的Provisioning Profile頁面點擊下圖按鈕,創(chuàng)建Provisioning Profile
選擇此Provisioning Profile的環(huán)境后點擊[Continue]:
選擇要創(chuàng)建Provisioning Profile的App ID后點擊[Continue]:
選擇所屬的開發(fā)者證書,(這里創(chuàng)建了多個開發(fā)者證書户秤,建議只創(chuàng)建一個码秉,方便管理)為了方便,選擇了[Select All]鸡号,再點擊[Continue]進入下一步:
為該Provisioning Profile選擇將要安裝的設(shè)備(一般選擇[Select All])转砖,點擊[Continue]:
給該Provisioning Profile填寫Profile Name,點擊[generate]完成創(chuàng)建鲸伴。
填寫完P(guān)rofile Name后點擊[generate]完成創(chuàng)建府蔗,之后點擊[DownLoad]下載Provisioning Profile
雙擊下載下來的Provisioning Profile,添加到xcode汞窗。
XCode的證書配置教程
參照iOS SDK 集成指南集成JPush SDK 和上傳了推送用到的p12證書后在編譯運行前需要先配置一下證書姓赤,步驟如下:
打開xxx-info.plist的Bundle identifier項把上傳到JPush 控制臺的bundle id填寫進去:
點擊項目,選擇目標(biāo)TARGETS后進入Build Setting 界面仲吏,搜索“Code signing”不铆,按照下圖配置