最新的服務器端生成iOS推送證書的方式,雖然有很多,但是筆者覺得很多都過時了,并不是很實用
筆者和后臺調試推送,很多時候發送不成功,根本找不到什么原因,到底是你的證書有問題還是服務器發送的方法有問題?照著筆者的步驟生成的證書,如果服務器還是發送不成功,你絕對可以理直氣壯說服務器端的問題,再也不用懷疑你的證書有問題了
一、生成App ID的方法筆者就不介紹了,方法很多
點擊連接?https://developer.apple.com?登錄,如果你沒有生成App ID,你的需要先申請一個App ID,(不過開始做推送了,一般都已經生成App ID了)生成AppID也是很簡單的,生成之后照如下步驟生成即可
二、 找到如下圖,點擊需要生成推送的ID
三 、點擊Edit(筆者的推送已經開通,所有狀態可能有不一樣的,不要擔心這個,繼續步驟就好)
四、找到Push Notifications(筆者只講解正式環境的生成,測試環境步驟一致,自己重復就好了)
第一步:點擊正式環境的download,即下載了一個aps.cer的文件,找到并點擊該aps.cer文件,之后會自動打開鑰匙串并生成一個證書;
第二步:保存該aps.cer文件,后面用得到。
注: 在鑰匙串(我的證書)中有一個Apple Push Services:你的bundleID的一個證書(如果是測試證書,前面有一個Development的字樣)
五、導出.cer生成的文件(導出默認生成.p12文件)
第一步:右擊證書(Apple Push Services:你的bundleID的一個證書,測試的帶有Development),選擇導出該證書,
第二步:生成push.p12文件,此刻需要輸入密碼,牢記該密碼,建議此過程所有密碼均用一個,筆者用123456(最好設置一個難度大的密碼)
第三步:桌面即生成一個push.p12文件
六、生成.pem文件(一下步驟如果有需要輸入密碼的,輸入1.4中用的密碼123456密碼即可)
打開終端,切換到桌面目錄之下
第一步:使用四中保存的aps.cer文件生成push_production_cer.pem文件
終端執行:? ?openssl?x509?-in aps.cer?-inform?der?-out?push_production_cer.pem
第二步:使用五中生成的push.p12生成push_production_key.pem文件
終端執行:?openssl?pkcs12?-nocerts?-out?push_production_key.pem?-in?push.p12
七、合成pem文件
使用六中生成的兩個.pem文件合成push_production.pem文件
終端執行:cat push_production_cer.pem push_production_key.pem > push_production.pem
則在桌面生成了一個push_production.pem文件