還是從創(chuàng)建證書說起吧 不得不說蘋果的證書太坑了~嗻嗻
- 打開鑰匙串,從證書頒發(fā)機(jī)構(gòu)請求證書 生成
CertificateSigningRequest.certSigningRequest證書 - 在開發(fā)者中心登錄開發(fā)者賬號 創(chuàng)建推送證書(測試版) 創(chuàng)建過程中需要選擇第一步中生成的certSigningRequest文件 創(chuàng)建完成后點擊下載 生成
aps_development.cer - 雙擊打開第二步生成的
aps_development.cer證書, 在鑰匙串中找到該證書 注意:看一下該證書是否有效,如果有效,恭喜你,可以直接導(dǎo)出了,導(dǎo)出,生成一個p12文件(會讓你設(shè)置密碼,后面會用到; 如果無效,雙擊,選擇信任,然后再導(dǎo)出
到這里 證書就全部OK了 接下來打開終端 切換到前面保存證書對應(yīng)的文件夾下
通過ls命令 可以查看到下面4個文件 其中simplepush.php暫時不管 待會兒再說
CertificateSigningRequest.certSigningRequest
aps_development.cer
證書.p12
simplepush.php
最關(guān)鍵的幾個步驟來了 看好哦
- 把
aps_development .cer文件生成一個pem文件
openssl x509 -in aps_development.cer -inform der -out Push.pem
- 把
證書.p12文件生成一個pem文件,此時會讓你輸入密碼(前面導(dǎo)出p12文件時設(shè)置的密碼)
openssl pkcs12 -nocerts -out PushKey.pem -in 證書.p12
- 把前面生成的兩個pem文件合并為一個pem文件
cat Push.pem PushKey.pem > ck.pem
準(zhǔn)備工作已完畢 下面進(jìn)行測試
telnet gateway.sandbox.push.apple.com 2195
如果看到下面的內(nèi)容 恭喜你 成功了~~
Trying 17.172.232.46...
Connected to gateway.sandbox.push-apple.com.akadns.net.
下面就是如何像APNS發(fā)消息了 很簡單 只需要將你獲取到的deviceToken替換掉simplepush.php文件中的deviceToken 然后執(zhí)行下面一句命令就OK了 怎么獲取deviceToken不用多說了吧
php simplepush.php
simplepush.php文件下載地址: 鏈接: http://pan.baidu.com/s/1pKJWsNx 密碼: 5fcp
如果看到下面的內(nèi)容就說明推送消息已經(jīng)發(fā)到APNS了,然后就看手機(jī)上是否已經(jīng)接收到你發(fā)的推送消息了
Connected to APNS
Message successfully delivered
當(dāng)然,還有第二種方式,這種方式操作起來更簡單。首先和上面的一樣還是創(chuàng)建證書,然后下載客戶端
鏈接: https://pan.baidu.com/s/1dFmM1LB 密碼: m6gf

smartPush測試工具界面.png
使用說明:
- 選擇相應(yīng)的證書(.cer)
- 在Xcode中獲取設(shè)備的deviceToken
- 編輯Payload。圖片中添加了messageId和type兩個參數(shù),根據(jù)需求,可自行修改
- 環(huán)境選擇(測試、發(fā)布)
- 連接服務(wù)器,執(zhí)行推送
好了 繼續(xù)完善推送跳轉(zhuǎn)吧~~