? ? 之前我在開發(fā)的時(shí)候,遇到證書問題,幾乎都想哭(捂臉)!現(xiàn)在將自己知道的和查閱到的整理了一下下,以后應(yīng)該可以少抓狂一點(diǎn)點(diǎn)!
有不足的地方,希望多多指出來哦~

一、iOS開發(fā)者帳號(hào)的分類:


二、iOS發(fā)布方式:

三、iOS證書:

四、不同版本的配置(先撇開企業(yè)證書):

五、證書申請(qǐng)流程:這個(gè)(http://www.cnblogs.com/sk-fengzi/p/5670087.html)寫得蠻詳細(xì)的,我就稍稍簡(jiǎn)化一下下:
? ? iOS以及Mac OS X系統(tǒng),在安裝Xcode時(shí)將自動(dòng)安裝AppleWWDRCA.cer這個(gè)中間證書,它實(shí)際上就是iOS(開發(fā))證書的證書,即根證書(Apple Root Certificate),AppleWWDRCA.cer之于iOS(開發(fā))證書則好比戶籍證之于身份證。
? ? 1.在keychainl里邊申請(qǐng)CSR(Cerificate Signing Request)文件、私鑰和公鑰;
? ? ? ?備注:
? ? ? ? ? ? ? ? ?1)私鑰存儲(chǔ)在keychain里面,蘋果通過CSR生成的證書文件則包含公鑰信
? ? ? ? ? ? ? ? ? ? ? ?息,對(duì)代碼進(jìn)行簽名的時(shí)候需要:證書+私鑰,缺一不可。
? ? ? ? ? ? ? ? ? 2)團(tuán)隊(duì)開發(fā)中需要公用證書,那么就需要兩個(gè)文件:*.p12文件、
? ? ? ? ? ? ? ? ? ? ? *.mobileprovision文件。*.p12文件是由秘鑰導(dǎo)出的,*.mobileprovision文
? ? ? ? ? ? ? ? ? ? ? ?件是項(xiàng)目的Provisioning Profiles文件
? ? 2.打開蘋果開發(fā)者中心——Account——Certificate——Add
? ? 3.Identifiers——APPIDs——BundleID
? ? 4.Device——UUID
? ? 5.Provisioning Profiles——Add
? ? 6.完成配置后下載2、5所配置好的文件,雙擊運(yùn)行
? ? 7.在xcode里面配置好相應(yīng)的code signing identity 和Provisioning Profiles
六、Xcode配置Code signing identity和Provisioning Profiles常見問題:
? ? 1.手動(dòng)配置有一個(gè)deprecated 的 Provisioning Profiles和Provisioning Profiles ,哪一 個(gè)起作用?是Provisioning Profiles,以下簡(jiǎn)稱pp文件
? ? 2.發(fā)現(xiàn)Automatically manamge Signing在多賬號(hào)的情況下會(huì)匹配不準(zhǔn)確?
? ? 3.其實(shí)Developer(cer)和Distribution(pp)也是可以組合打包的,而且可以上傳到AppStore,但是應(yīng)該審核會(huì)過
? ? 4.我現(xiàn)在沒有Developer(cer)和Developer(pp) ,也可以真機(jī)調(diào)試。。。。好吧,因?yàn)樽詣?dòng)匹配的問題
? ? 5.Team具體是什么意思?
? ? 6.associated-domains問題:?

? ? ? ?解決方法:打開蘋果開發(fā)者中心——Identifiers——APPIDs——勾選associated-domains——重新生成Provisioning Profiles——Xcode替換Provisioning Profiles
七、常見問題解疑:
1.Apple ID賬號(hào)欠費(fèi)會(huì)不會(huì)導(dǎo)致之前已經(jīng)上架的App被下架?
? ?答:會(huì)
2.證書過期不會(huì)影響已發(fā)布的產(chǎn)品?未發(fā)布的產(chǎn)品會(huì)不會(huì)有影響?
? ? 答:證書過期后,已經(jīng)上架appstore的app和已經(jīng)安裝在用戶設(shè)備的app都可以正常使用。
3.證書過期導(dǎo)致推送會(huì)出問題,更新推送證書需要下架應(yīng)用重新發(fā)布么?
? ? 答:證書可以重新生成,只要保證 developer.apple.com 中那個(gè) APP ID 的推送證書和推送服務(wù)器上的一致就不需要下架應(yīng)用。
4.證書過期,重新創(chuàng)建證書,可能導(dǎo)致之前上線的沒辦法覆蓋安裝,簽名不一樣就沒法覆蓋(估計(jì)是新建PP文件導(dǎo)致的)??
? ? 答:證書過期,在mac電腦上面的證書就不能使用,導(dǎo)致開發(fā)者不能繼續(xù)開發(fā),因此需要重新生成證書。之后編輯舊的PP文件(只更新舊的PP文件中的證書信息),再給mac電腦安裝cer文件和pp文件,? 重新導(dǎo)出的ipa文件,安裝時(shí),不需要卸載舊的app,可以直接覆蓋舊的app。
5.證書的有效期是固定的,過期了怎么辦?
? ? 答:證書過期了只能重新下載。Certificate的有效期為一年,自創(chuàng)建證書開始算起,而PP文件的有效期是同它關(guān)聯(lián)的證書的有效期一致,證書過期了,所有和他綁定的PP文件也一 起過期。
6.iOS的推送證書也有過期時(shí)間的限制的,過期后就需要開發(fā)者在蘋果官網(wǎng)上重新生成一個(gè)證書。
? ? 解決方法:
? ? ? ? 1)先revoke你的Certificate,重新生成一個(gè)新的。
? ? ? ? 2)Edit一下你的pp證書,選擇新的Certificate。
? ? ? ? 3)下載覆蓋之前的證書,就可以了。
7.又遇到了新問題,正在解決中
