一 远程推送流程
1、应用程序注册消息推送。
2、iOS从APNS Server获取device token,应用程序接收device token。
3、应用程序将device token发送给PUSH服务端程序。
4、服务端程序向APNS服务发送消息。
5、APNS服务将消息发送给iPhone应用程序。
二 生成证书
1)生成php用的pem文件过程为 :
首先双击前面保存的cer文件,此时会打开“钥匙串访问”软件,里面会出现一个Apple Development IOS push services证书,一个公用密钥和一个专用秘钥,秘钥的名称与证书助理中填写的名称一致。选中证书,导出为 apns-dev-cert.p12 文件
选中专有秘钥,导出为apns-dev-key.p12文件
通过终端命令将这些文件转换为PEM格式:
openssl pkcs12 -clcerts -nokeys -out apns-dev-cert.pem -in apns-dev-cert.p12
openssl pkcs12 -nocerts -out apns-dev-key.pem -in apns-dev-key.p12
最后, 需要将两个pem文件合并成一个apns-dev.pem文件,此文件在连接到APNS时需要使用:
cat apns-dev-cert.pem apns-dev-key-noenc.pem > apns-dev.pem
2) 生成java/c#用的p12文件过程为 :
openssl pkcs12 -clcerts -nokeys -out apns-dev-cert.pem -in apns-dev-cert.p12
openssl pkcs12 -nocerts -out apns-dev-key.pem -in apns-dev-key.p12
openssl pkcs12 -export -in apns-dev-cert.pem -inkey apns-dev-key.pem -certfile CertificateSigningRequest.certSigningRequest -name "push" -out push.p12
三 mac服务端测试工具
SmartPush,一款IOS苹果推送测试程序,Mac OS下的apns工具APP
SmartPush,iOS Push Notification Debug App
基于PushMeBaby,https://github.com/stefanhafeneger/PushMeBaby 修改,感谢作者
1.使用方法 拖拽或者浏览测试证书 和生产证书到指定输入框
2.填写对应的device token
3.填写Payload
4.选择即将推送的环境
5.连接推送服务器
6.发送推送
7.手机收到推送消息