我在开发者模式下成功使用APN与我的应用程序,但我无法让它在adhoc分发模式下工作。
我忠实地关注了教程http://www.raywenderlich.com/3443/apple-push-notification-services-tutorial-part-12,并且我已经阅读了有关此问题的所有其他帖子,我可以在SO和其他地方找到。
在开发者模式下我创建了cer和p12 pem文件并将它们组合在一起:当我尝试: openssl s_client -connect gateway.push.apple.com:2195 -cert aps_production.cer.pem -key MyPrivateKey.p12.pem,我得到:
depth=1 /C=US/O=Entrust, Inc./OU=www.entrust.net/rpa is incorporated by reference/OU=(c) 2009 Entrust, Inc./CN=Entrust Certification Authority - L1C
verify error:num=20:unable to get local issuer certificate
verify return:0
-----BEGIN CERTIFICATE-----
(certificate deleted)
-----END CERTIFICATE-----
subject=/C=US/ST=California/L=Cupertino/O=Apple Inc./OU=iTMS Engineering/CN=gateway.push.apple.com
issuer=/C=US/O=Entrust, Inc./OU=www.entrust.net/rpa is incorporated by reference/OU=(c) 2009 Entrust, Inc./CN=Entrust Certification Authority - L1C
---
No client certificate CA names sent
---
SSL handshake has read 2723 bytes and written 2140 bytes
---
New, TLSv1/SSLv3, Cipher is AES256-SHA
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
Protocol : TLSv1
Cipher : AES256-SHA
Session-ID:
Session-ID-ctx:
Master-Key: (deleted)
Key-Arg : None
Start Time: 1348332242
Timeout : 300 (sec)
Verify return code: 0 (ok)
我不知道“验证错误:num = 20:无法获得本地颁发者证书”是指或者是否重要。当我使用gateway.sandbox.push.apple.com:2195和我的开发人员cer和密钥时,我得到了同样的东西,但它运行正常。
然后我在手机上使用simplepush.php和app的开发者版本。通知工作完美。当我使用相同的adhoc发行版,以及手机上的adhoc发行版app时,尽管simplepush.php返回,但我什么都没得到: “向APNS发送消息”
我查询了反馈服务,并且没有报告错误。
其他人建议如果该应用尚未获得苹果批准,则APNS不适用于adhoc模式。那是问题吗?我们的应用程序仍在审核中。
感谢您的帮助。
答案 0 :(得分:0)