本文简要介绍了在iOS端实现推送的主要配置步骤,包括获得授权,使用PHP语言和Java语言时对授权文件的不同处理方式,以及在Client如何获得当前设备的token。
iOS推送的原理和机制在本文中并没有涉及。
Java实现Server端遇到握手失败(handshake_failure)的原因和解决办法参见:Java实现iOS推送握手失败的解决办法
1. Server 端配置 (Mac OS)
1) Request Certificate
Keychain Access -> Certificate Assistant -> Request a Certificate from a Certificate Authority....(save to disk)得到文件:xxx0. certSigningRequest
2) Export as file xxx1.p12
Keychain Access -> 右键上一步中生成的 xxx0 private key -> Export “xxx0”
得到文件:xxx1.p12
3) Create App SSL Certificate
- iOS Dev Center: https://developer.apple.com/ios
- Certificates, Identifiers and Profiles -> App IDs
- Create a new specific App ID, add “Push Notifications” Service//必须是Explicit,不能用Wildcard
- Edit, under “Push Notification”, click “Create Certificate”
- Upload xxx0. certSigningRequest
- Download to get the certificate
4) Make .pem file - 针对PHP语言
1.Convert the .cer file into a .pem file
在存放上文得到的几个文件的文件夹中,打开terminal,输入以下命令。
$ openssl x509 -in aps_de