針對製作pem的地方我再加強解說(這邊我搞超久的)。
延續上一篇Apple Push Notification Service - 推播服務,此時你手上會有下列東西:
- CertificateSigningRequest.certSigningRequest (憑證申請書)
- aps_development.cer (憑證,從Apple下載的)
原文是請你到Keychain Assistant(鑰匙圈存取)去製作apns-dev-cert.p12的檔案,不過我就是沒辦法export出來。還好找到另一個手動解法:HowToCreatePKCS12Certificate
1. 打開"鑰匙圈存取",找到自己的Private Key(專用密鑰),按右建選擇匯出成private_key.p12
2. 將 aps_development.cer 轉換為 aps_development.pem
openssl x509 -in aps_development.cer -inform DER -out aps_development.pem -outform PEM}
3. 將 private_key.p12 轉換為 private_key.pem
openssl pkcs12 -nocerts -out private_key.pem -in private_key.p12
4. 去除轉發密碼
openssl rsa -out private_key_noenc.pem -in private_key.pem
5. 合併 aps_development.pem 與 private_key_noenc.pem
cat aps_development.pem private_key_noenc.pem > apns_dev.pem
有了 apns_dev.pem 這個憑證就可以傳送推播了!
傳送時的 message payload 格式也可以參考上面兩篇文章。
最後提供幾個人家implement好的APNS
- apns-php - 感覺是個強大的framework
- Simple APN Server - PHP sample
- apns-sharp - .Net CSharp sample
- apns-python-wrapper - Python
- 簡易架設iOS Push Notification:使用Urban Airship
Production server
沒有留言:
張貼留言