######溫馨提示:這節的內容以圖片為主,大家最好能在有WiFi下觀看,不然的話燒流量就不關我的事了。O(∩_∩)O~。 ###一、iOS證書 iOS常用的證書包括開發證書和釋出證書,無論是真機除錯還是最終釋出應用到App Store這兩個證書都是必須的,它是iOS開發的基本證書。Xcode7以後真機除錯就不需要開發證書,真是開發者的福音啊!我再也不用為沒有開發者賬號而不能真機除錯而擔心了,(^o^)/~。
- 開發證書: 開發證書又分為普通開發證書和推送證書,如果僅僅是一般的應用則前者即可滿足,但是如果開發推送應用則必須使用推送證書。
- 釋出證書: 釋出證書又可以分為普通釋出證書、推送釋出證書、Pass Type ID證書、站點發布證書、VoIP服務證書、蘋果支付證書。同樣的,對於需要使用特殊服務的應用則必須選擇對應的證書。
###二、一些概念的普及:
######1. 應用標識AppID:
應用程式的唯一標識,對應iOS應用的Bundle Identifier
,AppID在蘋果開發者中心中分為:
- 通配的應用ID: 有萬用字元,例如
liuting.eat.*
,一般用於普通應用開發,一個通配ID可以適用於多個不同標識的應用
- 明確的應用ID:
沒有萬用字元,例如
liuting.push.com
,對於使用訊息推送、Passbook、站點發布、iCloud等服務的應用必須配置明確的應用ID
######2. 裝置標識UDID:
裝置標識UDID用於標識每一臺硬體裝置的標示符。
注意它不是device token
,device token
是根據UDID使用一個只有Apple自己才知道的演算法生成的一組標示符。
######3. 授權證書:
授權證書,英文Provisioning Profiles
,字尾為*.mobileprovision
。將UDID、AppID、開發證書打包在一起的配置檔案,同樣分為開發和釋出兩類配置檔案。
######4. 祕鑰:
- 在申請開發證書時必須要首先提交一個祕鑰請求檔案,對於生成祕鑰請求檔案的Mac,如果要做開發,則只需要下載開發證書和授權證書即可開發。
- 如果要想在其他機器上做開發,則必須將證書中的祕鑰匯出(匯出之後是一個
*.p12
檔案),然後匯入其他機器。 - 對於類似於推送伺服器端應用,如果要給APNs傳送訊息,同樣需要使用祕鑰檔案,並且這個祕鑰檔案需要是推送證書匯出的對應祕鑰。
###三、推送證書與祕鑰申請全過程 ####1. 生成本機證書(*.certSigningRequest)




####2. AppleID生成







Submit
選項,在下一個介面中選擇Done
選項,這樣我們設定AppID的步驟我們就完成了。
####3. 生成Cer證書(*.cer) 進入蘋果開發者網址的證書配置頁面(上面生成AppleID已經講過這個,這裡不重複了),這裡以開發證書為例,釋出證書步驟差不多。





####4. 生成授權證書(*.mobileprovision) 進入蘋果開發者網址的證書配置頁面





裝置號生成:選擇左側的
"Devices"
,然後點選右上角的加號,在隨後出來的頁面上新增你裝置的UUID(在Xcode中可以檢視到)以及name( 可以隨便取,自己看的懂就行),然後Register
一下,照著流程走到最後一步就完成了。


####5. 匯出祕鑰(*.p12)



######第5步不是必須的,一般這個祕鑰需要上傳到推送伺服器那邊,你如果只是真機除錯的話,做到第4步即可
######我之前搞推送的時候是把祕鑰上傳到極光推送JPush
的伺服器,搞了老久了,終於理清楚整個流程。
######這一節是個準備階段,因為我下一節要講推送了,需要用到推送證書,否則無法除錯,希望大家理解。
######如果有什麼意見可以在下方評論區中提出,有問題我會改的,O(∩_∩)O哈!