1. 程式人生 > >APNS部署教程2(證書配置)

APNS部署教程2(證書配置)

如果在看這篇教程之前,如果沒有看過前面的章節,你可以回去看看一看前面的章節

現在我們開啟蘋果開發者平臺,點選右上角的Account,輸入使用者名稱密碼進平臺,進去後點選我用黑線圈著的『Certificates,IDs&Profiles』
這裡寫圖片描述

這裡寫圖片描述

然後就進入到了證書這個頁面,不要在意我劃掉的部分,那些一點用都沒有
這裡寫圖片描述

我們看到左邊有四欄分類,分別是Certificates、Identifier、Devices、Provisioning Profiles
讓我來解釋一下你需要知道的東西

第一項Certificates(證書):開發一個app需要有蘋果的授權才能釋出,我需要申請一個證書證明我的身份,還需要申請另一個證書來證明我有使用APNs伺服器的權利,那麼在這一欄裡我將申請兩張證書,一個叫做開發者證書(證明我是給了蘋果錢的合法開發者),一個叫做APNs服務證書(證明給APNs伺服器我可以用推送服務)。

第二項Identifier(身份):每一個APP都要有一個類似身份證一樣的身份證明檔案,所以我要在這一欄裡給我的測試APP申請一個『身份證』

第三項Devices(裝置):這一項只有在測試的時候會用到,蘋果規定用來測試的裝置不能超過100臺(大概),所以我們要在這裡把需要進行真機測試的裝置的UUID(類似網絡卡的MAC地址,唯一的)新增進來,一會我會把自己的IPhone加進來。

第四項Provisioning Profiles(配置檔案):用XCODE開發的APP會需要一個配置檔案來進行釋出或者測試,這個配置檔案上配置上各種資訊,包括APP的【身份證】啊,開發者證書啊,需要測試的裝置啊等等,總得來說是上面三項的一個集合,這一欄我們會最後新增。

在申請證書之前,讓我們先用XCODE建立一個APP,就叫做APNsDemo吧,建立在桌面就好
這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述

注意在這裡我的APP的Bundle Identifiercom.wutang.APNsDemo,這個你可以改成你喜歡的,不過後面注意響應的替換就好。

APP建好了,桌面會出現一個APNsDemo的資料夾,我再在左面建立一個APNsDemoFiles資料夾,後面會用到。

回到開發者網站,選中Certificates的ALL選項,如果你是第一次進來右邊證書欄應該是空的,不是空的也沒關係,不要管哪些。在右邊的欄目裡的右上角,點選那個”+”號,新建一個證書。

這裡寫圖片描述

  1. 他會讓你選擇你要建立的證書的型別,我先要建立一個開發者證書

    ,所以選中Development欄裡的IOS APP Development,下拉,點選Continue。
    這裡寫圖片描述

  2. 進入下一頁後,他要求你提供一個CSR檔案,這個CSR檔案是從蘋果CA那裡申請來的,幫你生成金鑰對和證書什麼的,你就照著這一頁的提示一步一步做就好了。

    • 先開啟Keychain Access(command+space,輸入keychain 或者在launchpad的工具裡面找)
    • 左上角Keychain Access->Certificate Assistant->Request A Certificate….
      這裡寫圖片描述
    • 選中save to disk,然後點選continue,儲存到桌面上的APNsDemoFile資料夾(就是之前我建立過的那個),名字預設就好,儲存好後你的APNsDemoFiles資料夾下應該有個叫做CertificateSigningRequest….Request的檔案
      這裡寫圖片描述
      這裡寫圖片描述
  3. 然後回到證書申請頁面,點選Continue,出現新頁面,點選Choose File…,然後選中我們剛才生成的那個檔案(CertificateSigningRequest….Request),點選Continue生成證書並進入下載頁面。
    這裡寫圖片描述

  4. 點選DownLoad下載證書到APNsDemoFiles資料夾,然後點選Done按鈕,我們可以看到在Certificates->All這欄的右邊,多了一個證書,日期是今天,型別是IOS Development(IOS 開發者)
    這裡寫圖片描述

  5. 然後雙擊 APNsDemoFiles資料夾裡剛剛下載的ios_development.cer,會將我們的開發者證書自動安裝到系統的Keychain Access裡面
    這裡寫圖片描述

至此我的開發者證書就建立完成並匯入到系統了,下面我要建立一個APP Identifier,也就是我開發的APP的『身份證』,至於為什麼不緊接著建立一個推送證書,是因為推送證書的建立需要繫結唯一的APP,需要這個Identifier,所以我需要先建立這個Identifier

  1. 開啟開發者中心,點選左面的Identifiers->App IDs ,如果你是第一次進入,右邊應該是空的或者一個導航欄
    這裡寫圖片描述

  2. 和建立開發者證書一樣,在右上角找到『+』號並點選它新建一個APP IDs
    這裡寫圖片描述

    • App ID Description
      這一欄填寫的App ID的介紹的,也就是要起一個自己好認出來的名字,隨便寫
    • App ID Prefix
      這一欄是字首,系統填好了
    • App ID Suffix
      這一欄有兩個選項,Explicit App ID 是指定唯一的APP,Wildcard APP ID 是一個通用App ID,因為我的APP有Push Notification的功能所以必須用第一個,指定唯一APP的選項,在Bundle ID裡填寫XCODE專案APNsDemo裡面設定好的Bundle ID
      這裡寫圖片描述

    • App Services
      這裡選擇APP需要用到的服務,因為我要用到Push Notifications這個服務,所以勾選上這一項
      這裡寫圖片描述

  3. 點選Continue,我們看到Push Notifications那個選項寫的是Configurable,沒關係,點Register
    這裡寫圖片描述

  4. 系統會讓你瀏覽一遍剛剛建立的App ID的內容,如果你的像我的一樣(除了Identifier),那應該沒問題了,點選Done吧
    這裡寫圖片描述

  5. 這時網頁會跳回Identifiers->App IDs選項頁,右邊也會出來我剛剛建立的App ID
    這裡寫圖片描述

  6. 單擊APNsDemo,這個APP ID的配置內容會展現出來,我們看到Push Notifications這個選項的Development和Distribution全都是黃色的Configurable,分別對應開發環境和釋出環境,也就意味著這兩個環境下的Push Notification功能現在還不能用,需要我去配置,但是在這裡我只需要配置開發環境(Development)就好了,點選下面的Edit
    這裡寫圖片描述

  7. 找到下圖這裡,可以看到有兩個Create Certificate…按鈕,分別對應著建立測試環境訊息推送證書和生產環境訊息推送證書,點選上面那個Create Certificate…,也就是Development SSL Certificate欄裡的
    這裡寫圖片描述

  8. 注意左邊導航欄,又跳回了Certificates欄目了,這時我們就是要開始建立測試環境下的推送通知證書了,還儲存有之前那個CSR檔案嗎?有的話就點選Continue繼續吧
    這裡寫圖片描述

  9. 選擇在APNsDemoFiles資料夾下的CSR檔案,點選Continue
    這裡寫圖片描述

  10. 同樣的,我把這個新生成的證書下載到APNsDemoFiles資料夾下,然後點選Done,完成這個Push Notification證書的製作。
    這裡寫圖片描述

  11. 現在我的APNsDemoFiles裡有三個檔案,一個CSR檔案,兩張證書檔案,如果你沒有改名字的話,這個資料夾裡面是這樣的
    這裡寫圖片描述

  12. 這時候在開啟Cerificates->All看看證書是不是多了一個叫com.wutang.APNsDemo的證書,型別是APNs Development IOS,這就是我們需要的第二個證書,推送服務認證證書
    這裡寫圖片描述

  13. 再點開Identifiers->App IDs,找到你剛建立的那個APP ID並單擊它,是不是Push Notifications 的Development已經Enabled了?OK,現在證書和APP認證已經全部完成了
    這裡寫圖片描述

下面匯入測試裝置的UDID

  1. 點選左邊欄的Devices->All,然後點選右上角的’+’號
    這裡寫圖片描述

  2. 選擇第一個Register Device,因為我只需要註冊一個裝置,如果需要一下注冊許多裝置,可以自己研究下Register Multiple Devices 這個選項,在Name裡寫一個你容易記住的名字,UDID裡填寫你的IPhone的UDID,至於UDID怎麼獲取,看這裡,然後點選Continue就可以在Devices->All裡看到你剛剛註冊的裝置了
    這裡寫圖片描述

好了,下面最後一步建立配置檔案(Provisioning Profiles)

  1. 同樣,選擇Provisioning Profiles->All,然後點選右上角’+’號,建立一個新的配置檔案
    這裡寫圖片描述

  2. 你需要一個什麼環境下的配置檔案呢?我們當然要選擇Development環境了,如上圖那樣選擇IOS App Development,然後點選Continue

  3. 選擇這個配置檔案所對應的APP ID,我們找到我們剛剛建立的那個APP ID,選擇後Continue
    這裡寫圖片描述

  4. 選擇你的開發者證書,如果你不確定選哪個,那就全都勾選上吧!然後點選Continue
    這裡寫圖片描述

  5. 這一步是選擇需要測試的裝置,在列表裡選擇你希望在哪臺IPhone上進行測試,然後點選Continue
    這裡寫圖片描述

  6. 最後給這個配置檔案起個名字吧!下面這張圖裡Certificates是2個,按說是一個才對,是因為我剛才選擇了兩個開發者證書,大家不要在意這個,點選Continue
    這裡寫圖片描述

  7. 把配置檔案下載到ANPsDemoFiles資料夾下,現在的這個資料夾一共應該有四個檔案,像這個樣子
    這裡寫圖片描述

  8. 點選Done,現在關於證書的配置就全部都完成了,可以看到,我們剛剛配置的證書已經處於啟用狀態了
    這裡寫圖片描述

這裡要說明以下為什麼在配置檔案裡不見選擇推送證書的選項,是因為我們在配置APP ID的時候已經綁定了推送證書,而在配置檔案裡又綁定了APP ID,所以就等於已經通過APP ID綁定了推送證書了

最後讓我們整理以下一共建立了多少東西

兩個證書:1.開發者證書 2.推送通知證書
一個APP ID
一個測試裝置(Device)
一個配置檔案(Profile)

那麼接下來我們進入XCODE,進入APP前端的程式設計,到此,開發者網站就沒有用了,因為該下載的都已經儲存到APNsDemoFiles裡了。