本文記錄了從無到有申請證書,到最後能夠發出通知。當然,前提是我們有一個合適的開發者帳號。
1.登錄開發者帳號,如果帳號的權限合適。我們會看到如下圖:
或者最新的界面應該是下面(剛剛發現頁面更新了):
2. 點擊紅色框內的菜單,會來到如下界面:
這裡要創建的App ID就是我們的App的Bundle Id。
3. 點解左側的“App IDs”,會看到當前帳號下的所有App ID。
4. 點擊右上角的?
App ID Description下添加這個這個App ID的描述,如“My Test App”。
App ID Prefix下填寫App的Bundle ID。不要帶*號。
App Services下,勾選Push Notifications。
5. 點擊Continue,會看到剛創建的App Id的信息。如下圖:
6. 這時候再點擊左側的“App IDs”,會看到右邊的列表多了一條。
推送證書分為開發證書和生產證書。我們以生產證書為例。
7. 點擊左側的“Certificates”下的“Production”,會看到當前帳號下的所有生產證書
8. 點擊右上角的?
9. 選中Production下的Apple Push Notification service SSL,點擊Continue
10. 在App ID下選中我們新建的App ID。點擊Continue
11.點擊Continue,來到如下界面,需要我們上傳CSR文件
接下來,我們要先在本地生成CSR文件。
12. 打開鑰匙串(Keychain Access)程序,點擊左上角的Keychain Access,做如下圖的選擇
12. 然後會看到如下提示
13. 填入郵箱等信息,選擇“Save to Disk”。點擊Continue後,會提示保存選擇保存位置。選擇合適的保存位置,保存。
14. 再接著第#11步,我們要上傳剛才生成的CSR文件。點擊“Choose File”,選擇我們剛才生成的文件,然後點擊Continue。然後會來到如下界面:
這時,我們的證書已經創建好了。點擊Download,將證書下載到本地。我在桌面創建一個名為Cert的文件夾,將證書放到該文件夾下。一會兒還會用。
16. 點擊右上角的?
17. 點擊Distribution下的In House,點擊Continue
18. 在App ID下選擇我們新建的App ID。點擊Continue
19. 選擇我們剛才新建的證書所屬的帳號。點擊Continue
19. 在Profile Name中,輸入Profile的名字。點擊Continue
這時,我們的Profile已經創建好了。點擊Download,下載到本地。我把下載的Profile放到了在#14步中新建的Cert文件下。
24. 好吧,剛才保存的位置不好。把剛才導出的證書拖到Cert文件夾中。
25. 在Cert下創建一個Gen文件夾,將下載的證書和導出的證書復制到Gen中。並在Gen文件下,做如下的重命名:
下載的證書->developer_identity.cer
導出的證書->mykey.p12
注:這一步不是必須的,完全可以省略。我只是為了方便實用接下來的命令。
25. 打開終端(Terminal)程序,cd到桌面的Gen文件夾下。依次輸入如下命令:
openssl x509 -in developer_identity.cer -inform DER -out developer_identity.pem -outform PEM openssl pkcs12 -nocerts -in mykey.p12 -out mykey.pem openssl pkcs12 -export -inkey mykey.pem -in developer_identity.pem -out iphone_dev.p12期間會要求輸入密碼(導出的證書的密碼和新生成的證書的密碼),按要求輸入就可以了。如下圖:
運行完畢後,會在Gen下生成幾個文件,其中iphone_dev.p12就是供服務端使用的證書。