iOS學習筆記21 推送證書與祕鑰申請

執著丶執念發表於2018-06-02

######溫馨提示:這節的內容以圖片為主,大家最好能在有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 tokendevice token是根據UDID使用一個只有Apple自己才知道的演算法生成的一組標示符。 ######3. 授權證書: 授權證書,英文Provisioning Profiles,字尾為*.mobileprovision。將UDID、AppID、開發證書打包在一起的配置檔案,同樣分為開發釋出兩類配置檔案。 ######4. 祕鑰:

  • 在申請開發證書時必須要首先提交一個祕鑰請求檔案,對於生成祕鑰請求檔案的Mac,如果要做開發,則只需要下載開發證書和授權證書即可開發。
  • 如果要想在其他機器上做開發,則必須將證書中的祕鑰匯出(匯出之後是一個*.p12檔案),然後匯入其他機器。
  • 對於類似於推送伺服器端應用,如果要給APNs傳送訊息,同樣需要使用祕鑰檔案,並且這個祕鑰檔案需要是推送證書匯出的對應祕鑰。

###三、推送證書與祕鑰申請全過程 ####1. 生成本機證書(*.certSigningRequest)

開啟Mac電腦上的鑰匙串

請求本機證書

填寫使用者郵箱資訊,可以是假的郵箱資訊

儲存本機證書,名字可以自己定

####2. AppleID生成

進入會員中心

選擇配置證書

進入配置介面

新增AppleID

App取名

設定BundleID,上面的是明確的ID,下面是通配的ID

App服務選擇,例如廣告、遊戲中心、推送、付費等等
最後選擇Submit選項,在下一個介面中選擇Done選項,這樣我們設定AppID的步驟我們就完成了。

####3. 生成Cer證書(*.cer) 進入蘋果開發者網址的證書配置頁面(上面生成AppleID已經講過這個,這裡不重複了),這裡以開發證書為例,釋出證書步驟差不多。

新增開發證書

選擇Apple Push Notification Service SSL功能

選擇AppleID,就是上面我們建立的AppleID

選擇本機證書,這個我們前面也生成了,直接選擇上

下載Cer證書檔案到本地

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

進入授權配置模組

新增授權證書

選擇生成何種授權證書

選擇AppleID

選擇開發證書

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

選擇裝置號

生成授權檔案,輸入檔名,點選Generate,點選Download

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

雙擊前面生成的Cer檔案,然後進入鑰匙串應用

右鍵點選祕鑰,匯出,填寫匯出名字

輸入密碼,點選“好”,就生成了p12檔案

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

相關文章