前言
在iOS開發(fā)過程中不管上架還是測試總會遇到各種證書的配置和生成,我們每次都是按照網(wǎng)上的教程弄下,有時候確實會成功,但是下次還是不會弄,難道我們不能一次性的把它給搞定了,,,不讓證書來困擾我們?這也是我寫這篇文章的初衷!
1,我們先理解下這幾個概念:
- 證書(Certificates):
擁有某項能力的憑證,eg:駕駛證,律師證,會計證,,,,,,,;
開發(fā)證書(Development Certificate):讓你有資格去測試你的應(yīng)用程序;
生產(chǎn)證書(Production Certificate):讓你有資格發(fā)布你的應(yīng)用程序;
需要注意的點:
1,當證書選不了的時候,說明對應(yīng)的證書在該賬戶已經(jīng)滿了,公司賬號的話可以生成(1-2個開發(fā)(測試)證書)匠题,2-3個生產(chǎn)(發(fā)布)證書),個人賬號的話比較悲催,分別只能生成一個;
2,證書不是每個應(yīng)用程序?qū)?yīng)一個證書的,多個應(yīng)用程序可以使用同一個證書,所以不需要每次都生成證書;但是推送證書是每個證書對應(yīng)一個appid的,這個需要注意;
3,證書不是下載下來就可以用的,前提是這個證書是你自己電腦生成的,那么我證書滿了,我需要證書怎么辦呢?我們可以讓那個生成證書的同事把改證書導個p12文件給你,當然密碼讓他告訴你就好;
4,說一下第三點的原因:因為私鑰擁有不會給別人的,蘋果用公鑰去解你的私鑰,每次從證書頒發(fā)機構(gòu)生成證書的時候私鑰在自己的電腦里面,別人下載下來是沒有對應(yīng)的私鑰的,所以簽名的時候就不會通過,p12文件卻不一樣,它里面公鑰和私鑰都有;
5,不要輕易去remvoke別人的證書,不然會出現(xiàn)許多意向不到的意外你懂得;
App ID:
它就相當于身份證,想擁有以上權(quán)利必須得有身份證,應(yīng)用程序的唯一標示;通常用的是工程的bundleid;齒輪文件(Provisioning Profiles):
它指定了哪個app(創(chuàng)建選擇的appid),可以在哪臺電腦(創(chuàng)建時選擇的證書),可以在什么環(huán)境下(選擇證書的類型,開發(fā),發(fā)布),可以在哪臺手機(生成齒輪文件時選擇的device)-------去運行;
這里需要注意幾點:
<1>這里選擇的證書必須你的電腦上是有的,也就是你的鑰匙串中可以看到的證書,不然會出現(xiàn)以下錯誤:(意思就是你齒輪文件和你電腦里面的證書不匹配)
<2>你工程的bundleid必須和你生成齒輪文件時候選擇的appid一致,否則會出現(xiàn)以下錯誤:
解決辦法:
1,把工程的bundleid換成你齒輪文件這里對應(yīng)的appid;
2,用你現(xiàn)在工程的bunleid重新生成個appid和齒輪文件;
參考文章(這些大神的文章比我好一百倍,總是站在巨人的肩膀上 = =,我們需要感謝這些無私的大牛們!!!)
1,不讓蘋果開發(fā)者賬號折磨我
2,App上架流程
3,iOS開發(fā)證書與配置文件的使用