新聞中心
iOS打包證書不匹配
我們在打包項(xiàng)目時(shí)有時(shí)會出現(xiàn)No "" signing certificate matching team ID "" with a private key was found.的問題,特別是在多人開發(fā)的時(shí)候,創(chuàng)建多個(gè)打包證書和開發(fā)證書。

成都創(chuàng)新互聯(lián)公司是一家朝氣蓬勃的網(wǎng)站建設(shè)公司。公司專注于為企業(yè)提供信息化建設(shè)解決方案。從事網(wǎng)站開發(fā),網(wǎng)站制作,網(wǎng)站設(shè)計(jì),網(wǎng)站模板,微信公眾號開發(fā),軟件開發(fā),微信小程序,10年建站對成都服務(wù)器租用等多個(gè)方面,擁有豐富的網(wǎng)站維護(hù)經(jīng)驗(yàn)。
個(gè)人對出現(xiàn)這種問題的原因進(jìn)行了整理
有時(shí)我們的打包證書是從別人那通過這P12文件導(dǎo)出的,確保輸入的密碼正確并成功的在自己的鑰匙串中安裝了證書。
這個(gè)問題只要在設(shè)置pp文件時(shí)確保允許的證書包含你安裝的證書就可以解決這個(gè)問題
還有一種情況,即便正確地安裝證和設(shè)置pp文件也不能匹配證書,這個(gè)情況比較常見也容易被忽視
出現(xiàn)這個(gè)問題的原因是蘋果開放平臺只允許創(chuàng)建創(chuàng)建兩個(gè)Distribution證書,雖然在平臺上你一可繼續(xù)添加第三個(gè)Distribution證書,后面創(chuàng)建的Distribution證書都是不可使用的。
所以解決這個(gè)問題有兩種方法:
1.刪除別人的打包證書創(chuàng)建自己的打包證書,這時(shí)自己的證書就是可用的了,可以進(jìn)行打包了
2.找到可用打包證書的人,從他的電腦上導(dǎo)出一個(gè)這p12文件給你,你用他的證書來進(jìn)行打包。
iOS-testflight證書類型介紹及申請教程
iOS-testflight證書類型介紹及申請教程
iOS證書有多種類型,在開發(fā)iOS APP中一定要清楚了解各種iOS證書的作用。
下面介紹iOS常用的四種iOS證書,當(dāng)你需要什么功能的時(shí)候就知道用哪個(gè)類型的iOS證書。
1、iOS開發(fā)證書
iOS開發(fā)證書是用于測試APP,在開發(fā)過程中安裝到蘋果手機(jī)真機(jī)測試APP的運(yùn)行情況。
2、iOS發(fā)布證書
當(dāng)APP開發(fā)測試好后上線就需要用到iOS發(fā)布證書,用iOS發(fā)布證書打包的ipa才能上傳到App Store審核。
3、iOS推送證書
iOS推送證書是用于推送通知的,平時(shí)我們在手機(jī)的系統(tǒng)欄下拉看到的那些消息就是推送通知,如果要做這個(gè)功能就需要配置推送證書。
4.iOS企業(yè)證書
iOS企業(yè)證書可以免上架App Store無設(shè)備數(shù)量限制安裝到手機(jī)使用
iOS證書的構(gòu)成和有效性
iOS證書由兩個(gè)文件構(gòu)成。p12文件和.mobileprovision文件
p12文件相當(dāng)于公鑰,.mobileprovision文件相當(dāng)于私鑰。
開發(fā)證書p12文件蘋果規(guī)定只能申請2個(gè),發(fā)布證書p12文件只能申請3個(gè)!iOS證書配置.mobileprovision文件是沒有任何數(shù)量限制的!
p12可以共用,一個(gè)p12可以對應(yīng)無數(shù)個(gè).mobileprovision文件!所以就算p12申請一個(gè)也夠用了,可以對應(yīng)創(chuàng)建無數(shù)套iOS證書!
所以對于證書數(shù)量的擔(dān)憂是沒有意義的!不會限制你上架多少個(gè)APP!
ios證書的有效期是一年,在我們軟件的和開發(fā)者后臺都能看到到期時(shí)間。
iOS證書可以刪除嗎,到期怎么更新
iOS證書是可以隨意刪除的(不管有沒有到期),不會影響已經(jīng)上架的APP。
如果你還在測試APP。刪除了測試用的開發(fā)證書,APP將打不開,當(dāng)然這個(gè)也沒什么關(guān)系,測試APP是要不停打包的,重新申請證書打包重新安裝就可以了。
iOS證書到期了需不需要重新申請呢,具體看需要,如果你要更新已經(jīng)上架的APP,更新版本,刪除到期的證書重新申請打包上傳更新。
如果不更新APP,到期了不管他也沒什么關(guān)系,不會影響上架了的APP。
關(guān)于iOS開發(fā)證書的相關(guān)理解與應(yīng)用
iOS開發(fā)都要走的路子那必定是證書的配置,尤其涉及到多人開發(fā)的時(shí)候,還要管理一些開發(fā)打包上線的一些權(quán)限。此時(shí)通過配置證書,再去手動生成描述性文件顯得格外麻煩。
在進(jìn)行證書的配置之前,可以先理一下原理。
如下圖所示,在配置證書的時(shí)候,首先在配置證書的那臺電腦上通過證書助理先生成一套當(dāng)前主機(jī)的證書,這個(gè)證書是為了后來在開發(fā)者中心配置相關(guān)開發(fā)與發(fā)布證書需要用到的。
在開發(fā)中心通過綁定 母機(jī) 所生成的證書來生成對應(yīng)的開發(fā)證書與發(fā)布證書,這里的兩個(gè)證書的實(shí)際作用是用來 授權(quán) 相關(guān)主機(jī)的相關(guān)的操作權(quán)限的(打包發(fā)布),通俗點(diǎn)講就是, 只有安裝了這兩個(gè)證書的電腦才能夠有對應(yīng)的權(quán)限去做相關(guān)的操作 。
有些情況下,團(tuán)隊(duì)中的部分成員是不需要打包以及發(fā)布的,所以對于這些開發(fā)成員是不用給他們相關(guān)的打包授權(quán)的,此時(shí)這里的 開發(fā)證書的P12 就是做這個(gè)事兒的,它是用來授權(quán)相關(guān)的成員是否能夠有權(quán)限去打包的,所以對于這些成員就不需要給他們相關(guān)的P12文件了,如果想進(jìn)行相關(guān)的正常范疇的開發(fā)(比如真機(jī)調(diào)試等),只需要給他們相關(guān)的 描述性文件 即可。同樣的,推送證書也有相關(guān)的生產(chǎn)環(huán)境以及開發(fā)環(huán)境,推送證書的P12是用來授權(quán)相關(guān)的主機(jī)去進(jìn)行推送操作的(一般三方的推送平臺需要這些授權(quán)才能夠進(jìn)行相關(guān)的推送操作)。
目前有兩種方式去進(jìn)行證書的配置,分別是
這里推薦第二種方式進(jìn)行開發(fā),因?yàn)槭∪チ撕芏嗯渲米C書的工作,只需要將團(tuán)隊(duì)中的開發(fā)成員加入到對應(yīng)的開發(fā)組中即可完成配置授權(quán)。
加入團(tuán)隊(duì)開發(fā)者也很簡單,也就三步:
在進(jìn)行證書搭建的過程中需要注意 證書過期 的問題,因?yàn)槟壳伴_發(fā)證書的有限時(shí)間通常為一年,過期的時(shí)候需要重新生成一套新的證書來保證正常的打包上線等權(quán)限的正常授權(quán)使用。
如何共享 iOS 證書
借閱: 如何在多臺機(jī)器上共享IOS證書
注:必須得從申請機(jī)器上導(dǎo)出private key.到其他機(jī)器上
1. Certification(證書)
證書是對電腦開發(fā)資格的認(rèn)證,每個(gè)開發(fā)者帳號有一套,分為兩種:1) Developer Certification(開發(fā)證書)安裝在電腦上提供權(quán)限:開發(fā)人員通過設(shè)備進(jìn)行真機(jī)測試??梢陨筛北竟┒嗯_電腦安裝;2) Distribution Certification(發(fā)布證書)安裝在電腦上提供發(fā)布iOS程序的權(quán)限:開發(fā)人員可以制做測試版和發(fā)布版的程序。不可生成副本,僅有配置該證書的電腦才可使用;(副本制做介紹在下面Keychain中介紹)
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)文件時(shí)候會選擇App Id,(開發(fā)者帳號下App Id中添加,單選)和UDID(開發(fā)者帳號下Devices中添加最多100個(gè),多選)。
授權(quán)文件分為兩種,對應(yīng)相應(yīng)的證書使用:
1) Developer Provisioning Profile(開發(fā)授權(quán)文件)在裝有開發(fā)證書或副本的電腦上使用,開發(fā)人員選擇該授權(quán)文件通過電腦將程序安裝到授權(quán)文件記錄的設(shè)備中,即可進(jìn)行真機(jī)測試。注意:確保電腦有權(quán)限真機(jī)調(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)文件時(shí)選擇store選項(xiàng),選擇App Id,無需選擇UDID;測試版就是在發(fā)布之前交給測試人員可同步到設(shè)備上的程序文件,開發(fā)者帳號創(chuàng)建授權(quán)文件時(shí)選擇AdHoc,選擇App Id和UDID;只有選中的UDID對應(yīng)的設(shè)備才可能安裝上通過該授權(quán)文件制做的程序。
3. Keychain(開發(fā)密鑰)
安裝證書成功的情況下證書下都會生成Keychain,上面提到的證書副本就是通過配置證書的電腦導(dǎo)出Keychain(就是.p12文件)安裝到其他機(jī)子上,讓其他機(jī)子得到證書對應(yīng)的權(quán)限。Developer Certification就可以制做副本Keychain分發(fā)到其他電腦上安裝,使其可以進(jìn)行真機(jī)測試。 注意:Distribution Certification只有配置證書的電腦才可使用,因此即使導(dǎo)出導(dǎo)出Keychain安裝到其他電腦上,其他電腦也不可能具有證書的權(quán)限。
iOS - p12 證書
iOS個(gè)人開發(fā)者帳號只能創(chuàng)建2(3)個(gè)證書,如果多人開發(fā),那肯定是不行滴,所以使用已有證書,生成p12證書,供大家使用(相當(dāng)于共享證書)。
已有證書,在鑰匙串訪問中,選擇證書,右鍵導(dǎo)出p12,添加p12密碼即可。
生成一個(gè)包含多個(gè)設(shè)備的 配置文件,配合p12證書使用。
iOS,cer證書如何轉(zhuǎn)成p12證書。用代碼實(shí)現(xiàn)。
在 Mac OS 上將 iPhone 開發(fā)人員證書轉(zhuǎn)換為 P12 文件
從 Apple 下載 Apple iPhone 證書后,將其導(dǎo)出為 P12 證書格式。在 Mac? OS 上執(zhí)行以下操作:
打開鑰匙串訪問應(yīng)用程序(位于應(yīng)用程序/實(shí)用工具文件夾中)。
如果尚未將該證書添加到鑰匙串,請選擇“文件”“導(dǎo)入”。然后瀏覽到您從 Apple 獲取的證書文件(.cer 文件)。
在鑰匙串訪問中選擇密鑰類別。
選擇與 iPhone 開發(fā)證書相關(guān)聯(lián)的私鑰。
該私鑰由 iPhone 開發(fā)人員識別:與之配對的名字姓氏公共證書。
選擇“文件”“導(dǎo)出項(xiàng)目”。
以個(gè)人信息交換 (.p12) 文件格式保存您的密鑰。
系統(tǒng)將提示您創(chuàng)建一個(gè)嘗試在其他計(jì)算機(jī)上導(dǎo)入此密鑰時(shí)需要使用的密碼。
在 Windows 上將 Apple 開發(fā)人員證書轉(zhuǎn)換為 P12 文件
要使用 Flash CS5 開發(fā) iPhone 應(yīng)用程序,則必須使用 P12 證書文件?;趶?Apple 收到的 Apple iPhone 開發(fā)人員證書文件生成此證書。
將從 Apple 收到的開發(fā)人員證書文件轉(zhuǎn)換成 PEM 證書文件。從 OpenSSL bin 目錄運(yùn)行以下命令行語句:
openssl x509 -in developer_identity.cer -inform DER -out developer_identity.pem -outform PEM
如果您使用的是 Mac 計(jì)算機(jī)上鑰匙串中的私鑰,則將其轉(zhuǎn)換成 PEM 密鑰:
openssl pkcs12 -nocerts -in mykey.p12 -out mykey.pem
現(xiàn)在,您可以基于密鑰和 PEM 版本的 iPhone 開發(fā)人員證書生成有效的 P12 文件:
openssl pkcs12 -export -inkey mykey.key -in developer_identity.pem -out iphone_dev.p12
如果您使用的是 Mac OS 鑰匙串中的密鑰,則使用上一步驟中生成的 PEM 版本。否則,請使用以前生成的 OpenSSL 密鑰(位于 Windows 上)。
當(dāng)前題目:ios開發(fā)證書導(dǎo)出,ios證書在線生成
分享網(wǎng)址:http://www.dlmjj.cn/article/dsccigh.html


咨詢
建站咨詢
