最近在做推送,關于生產環境和開發環境證書的配置煩的我不要不要的。索性就把蘋果開發者網站上的所有證書certificates
、供應配置文件Provisioning Profiles
全都給刪掉了,從頭慢慢的一步一步來,我就不信還整不明白這東西了。最后,終于是功夫不負有心人,總算是整明白了,在生產環境和開發環境下測試都推送成功了。現在記錄下來做個總結,也希望能對小伙伴們有些幫助。
Xcode版本:8.3
1.創建APP ID
登錄Apple Member Center :https://developer.apple.com/membercenter,選擇**certificates,identifiers&profiles
**選項,如下圖所示:
選擇identifiers中的APP IDs,如下圖所示:
注意:創建Explicit App ID時,要注意此時設置的Bundle ID要與APP以后的Bundle ID一致,如下圖所示:
選擇Push Notification 來開通Push功能,如下圖所示:
點擊下方的 register 按鈕,幾秒鐘之后下方會變成一個Done ,表示APP ID已經創建完成,如下圖所示:
注意:
創建的APP ID要與自己項目的Bundle ID保持一致。如果已經有APP ID,請確保自己的APP ID已經開通了Push功能,如果沒有開通,可以點擊APP ID,在其底部有一個Edit按鈕,點擊后選中Push服務并創建。
至此,APP ID 創建完畢。
2. 創建CSR文件
如果你已經有CSR文件,請繼續進行下一步的設置。
CSR 是 Cerificate Signing Request 的英文縮寫,即證書請求文件。證書申請者在申請數字證書時由CSP(加密服務提供者)在生成私鑰的同時也生成證書請求文件。證書申請者只要把CSR文件提交給證書頒發機構后,證書頒發機構使用其根證書私鑰簽名就生成了證書公鑰文件,也就是頒發給用戶的證書。
在電腦中找到鑰匙串----->鑰匙串訪問------>證書管理------>從證書頒發機構請求證書,如下圖所示:
設置完證書信息后,點擊“繼續”,然后選擇存儲位置,點擊存儲,至此,CSR 文件創建成功。
3.創建開發調試證書
如果你已經有開發調試證書,請繼續進行下一步的設置。
選擇Development(如果是發布上線,需要選擇Distribution),如下圖所示:
之后,你將看到如下四個證書。這一步,我們選擇 iOS App Development 證書,如下圖所示:
在 Choose File... 中選擇本地的 CertificateSigningRequest(CSR)文件,然后點擊繼續,如下圖所示:
點擊 Download,將證書下載到本地,雙擊下載的開發調試證書(文件名為:iOS_development.cer ),就可以在鑰匙串訪問中的我的證書中找到。
至此,開發調試證書設置完畢。
4. 添加測試設備
測試推送需要添加測試設備,添加方法如下所示:
5.創建Provisioning Profiles文件
選擇 Development,創建開發環境的 Provisioning Profiles(如果是發布上線,需要選擇 Distribution),如下圖所示:
創建新的 Provisioning Profiles,并選擇之前生成好的 App ID。如下圖所示:
選中創建的證書:
選中測試設備:
把創建的 Provisioning Profiles 下載下來(文件名:umengpushtestdemo.mobileprovision)以后雙擊證書。
6.創建推送證書
選擇 Apple Push Notification service SSL(Sandbox)
注意:推送證書分為開發環境和生產環境,如果需要生成生產環境的推送證書請選擇: Apple Push Notification service SSL (Sandbox&Production),如下圖所示:

選中 APP ID 后,點擊 continue,直到上傳 CRS 文件,如下圖所示:
點擊 Download,將證書下載到本地后,雙擊下載的開發環境推送證書(文件名為:aps_development.cer),就可以在鑰匙串訪問中的我的證書中找到。
7.導出推送證書的P12文件
注意:在鑰匙串訪問(KeyChain)的我的證書中選擇剛剛導入的證書,選擇導出,注意不要選中私鑰,并設置相應密碼即可。
生產環境的推送證書也是以同樣的方式導出。
然后將生產環境和開發環境的推送證書導出的p12文件上傳到友盟或者其它的第三方推送服務后臺。
到此在開發環境中就能收到推送了
8.發布上線時Xcode中的配置
不要勾選 Automatically manage signing
下面的 Signing(Debug) 和 Signing(Release)配置不用管
在Build Settings中配置證書
然后打包ipa文件
導出的時候選擇第一個 Save for iOS App Store deployment,第二個是打包生產環境下的ipa文件用的,后面會講到。
然后就是一路next生產ipa文件,然后把ipa文件通過Application Loader上傳就可以了。
關于如何測試生產環境下是否能收到推送
要想在上線前測試一下在生產環境下能否收到推送就要以 Ad Hoc 方式打包應用。
1.創建一個Ad Hoc的Profile文件
創建完成后下載下來,然后雙擊證書。
- 以Ad Hoc方式打包應用
把生產環境下的pp文件換成剛剛創建的Ad Hoc的profile文件,其它的不用變,然后打包成ipa文件。
這一次導出的時候選擇第二個 Save for Ad Hoc Deployment。然后將導出的ipa文件上傳到蒲公英或者其它的測試分發平臺,然后安裝到測試設備上就可以測試生產環境下的推送了。
PS:
總的來說,創建出的 Provisioning Profiles 文件主要是以下三種
創建出的證書 Certificates 主要有以下四種