前言:
? ? ? 親愛的iOS開發(fā)盆友們,今天這篇文章主要不是記錄怎么去創(chuàng)建開發(fā)者證書,當然我也會提及一點點哈,主要是想記錄一下在使用企業(yè)證書時,遇到的問題以及解決的過程,來。開始吧~
起因:
? ? ?公司的項目很多,涉及到的證書(這里只企業(yè)證書哈,以下提及的證書也都是以企業(yè)證書為例,今天不說個人開發(fā)者證書,如果你想知道兩者的區(qū)別,請移動其他的博客進行了解哈),APPID,描述文件啊等等很多,傻傻分清~。剛剛產(chǎn)品過來告訴我說我們有一個項目APP的證書要到期了,需要更新下新的,好家伙,我想那就趕緊搞一下吧,
解決流程:
1. ? ? ? 以免影響線上用戶使用,因為證書一旦到期,不但會影響線上用戶,本地的也會有問題的,所以說,用戶將無法再運行已使用這個證書簽名的 app。您必須分發(fā)使用新證書簽名的新版本 app,然后登錄開發(fā)者平臺,找到證書那里,如圖:

以上紅色部分就是被我手快刪除后又重新創(chuàng)建的,血的教訓啊,千萬不要隨意刪除這個列表里的證書,即使是過期也不能刪除,要不然造成的后果就是線上的APP不能使用,這也是企業(yè)證書和個人證書的區(qū)別。千萬別隨意刪除,千萬別隨意刪除,千萬別隨意刪除,重要的話說三遍,我之所以刪除是因為如下圖:

? ? ? ?由于自己的知識儲備有限,以為只要是要過期的證書就需要刪除重新這么做呢,結果帶來了很大的影響,還有就是我們是腳本自動打包,還需要配置一些腳本信息,因為我的誤刪,導致腳本也不能自動打包了,一直打包失敗,只能暫時本地打包了,真心地想說,本地打包太慢了,還需要配置一些參數(shù),打過的我想自然知道哈。還能咋樣,遇到問題不能等啊,得解決問題,哭鼻子也不好使。
? ? ? 既然已經(jīng)走到創(chuàng)建證書這里了,就索性把創(chuàng)建企業(yè)證書走了一遍,這里想說的是,企業(yè)證書的創(chuàng)建和個人證書創(chuàng)建步驟基本是一樣的,需要CSR文件,然后就是APPID以及描述文件的創(chuàng)建,只要對應好自己項目的bundleID以及APPID即可,整個創(chuàng)建過程一路順風,沒難度。創(chuàng)建完事后,下載證書和描述文件,雙擊點擊安裝即可。這樣就會以現(xiàn)在這個為準,可以繼續(xù)打發(fā)布的產(chǎn)物了。如圖


? ? ?2.雖然創(chuàng)建了一套新的,但是原來的證書和描述文件還在你的機器中以及其他的機器里,這時候因為找不到證書,就會報錯,接下來我來說說我遇到的錯誤,在我自己的機器里我安裝完最新的沒什么問題,在我們的打包服務器里出現(xiàn)了問題,以此來說明。
? ? 2.1 前提是我在打包的機器上安裝了最新的證書和描述文件,然后進行腳本打包,打包失敗,報錯的意思是說我的描述文件不匹配,報錯如下圖

? ? ? 2.2 然后我就把描述文件重新下載一份,繼續(xù)導入到機器里,繼續(xù)打包,很快,又編譯失敗了,這次的報錯跟上次不一樣,說明有相應,報錯如下:

? ? ?2.3 又說這個描述文件找不到,這個描述文件不是我新創(chuàng)建的啊,仔細看看,這個是用原來證書創(chuàng)建的,然后就給刪除了,這次怎么也能打包成功了吧,暗暗自喜,再次打包,又失敗了,報錯如下:

? ? ?2.4 說我的自動簽名被禁止了,然后就各種檢查xcode也沒看出啥破綻,默認是自動簽名,覺得還是描述文件的原因,然后就是把描述文件移除,再次導入,折騰了好幾遍,再次打包,依然報錯,如圖:

? ? ? 真是邪門了啊,一直不解,這是為什么呢,后來用打包的機器本地打包試試吧,結果是可以的,產(chǎn)物順利打出來了,所以可以排除證書和描述文件不匹配以及不正確的的顧慮了,那就仔細檢查打包服務器吧
? ? 2.5 仔細檢查,發(fā)現(xiàn)在自動腳本打包里有一個路徑是可以看到所有的描述文件的,笨方法,一個一個的比對,查找報錯中的那個描述文件,還真找到了,真是不容易,選中,右鍵移到廢紙簍,
3.再開始再次打包,哇咔咔,成功啦,真是開心啊 ,終于解決了。如圖:

總結:
1.不要輕易刪除證書
2.如果不慎刪除,重新創(chuàng)建新的
3.先從xcode本地打包,如果沒問題,即為成功
4.如果是腳本自動打包,部署腳本的機器也需要安裝證書和描述文件,一定是匹配的,需要將原來的證書創(chuàng)建的描述文件移除干凈,導入新的即可,打包成功。
5.如果不清楚自己導入的是否是對的,以及想看之前的描述文件信息,這個是可以打開查看的,找到描述文件,點擊空格即可查看,一一比對即可