iOS推送通知不适用于分发

Aks*_*hay 5 iphone ruby-on-rails push-notification apple-push-notifications ios

我已经尝试了推送通知我的应用程序开发,它工作正常.当我生成生产(分发)的.p12文件时,它正在创建.在服务器上部署.pem文件后,它正在抛出并出错.

OpenSSL :: SSL :: SSLError(SSL_connect返回= 1 errno = 0状态= SSLv3读取服务器激励票A:sslv3警报证书未知):"}

服务器:RoR(Ruby on Rails) 任何帮助都会非常明显.

注意:对于开发.p12,它工作正常.问题是我正在部署分发.p12.请建议我可能遗漏的内容.

感谢致敬

Sen*_*mar 7

在您的服务器代码中检查这一点

gateway.push.apple.com,端口2195用于分发

gateway.sandbox.push.apple.com,端口2195

  1. 登录iPhone Developer Program Portal.
  2. 从右侧菜单中选择App ID.
  3. 创建没有通配符的应用程序ID.
  4. 单击此App ID旁边的Configure链接,然后单击按钮以启动向导以生成新的Development Push SSL证书.用于开发(或)生成新的生产推送SSL证书以进行分发.
  5. 下载此证书并双击aps_developer_identity.cer将其导入您的Keychain
  6. 启动Keychain Assistant并单击左侧的My Certificates展开Apple Development Push Services并选择Apple Development Push Services
  7. 右键单击并选择"导出1个元素..."并另存为apns-cert.p12.和您的私钥在同一个展开区域中右键单击并选择"导出1个元素..."并保存为apns-key.p12.

8.打开终端并将目录更改为用于保存.p12的位置,并使用此命令将PKCS12证书包转换为PEM格式

一世).openssl pkcs12 -clcerts -nokeys -out apns-cert.pem -in apns-cert.p12 ii).openssl pkcs12 -nocerts -out apns-key.pem -in apns-key.p12这里你必须给一些访问php代码的密钥.

删除密码

III).openssl rsa -in apns-key.pem -out apns-key-noenc.pem这里你必须为Remove passphrase提供相同的密钥.

最后iv).cat apns-cert.pem apns-key-noenc.pem> apns-dev.pem.

现在您可以在ApnsPHP中使用此PEM文件作为您的证书!


小智 3

@学习者

如果所有其他选项都不起作用,那么您应该检查如何导出 p12 文件。您应该导出与Apple生产证书关联的p12文件,我希望它能够工作..因为它对我有用!