关于无法接收消息推送问题的修改
今天解决了一下发布版消息推送证书无法收到消息推送的问题,经过一番折腾发现原来是服务器配置问题,不过也捋了一下消息推送的流程。
之前有一次也是消息推送无法收到,用开发版证书跟踪找到原因是devicetoken的问题,只测试了开发版证书就没测试发布版证书了,后来又提出了消息推送无法接收的问题,先测试了一下开发版证书,一切正常,换到发布版证书后确实收不到消息推送,查看服务器日志error为Invalid certificate chain (Received fatal alert: certificate_unknown)! Verify that the keystore you provided was produced according to specs... 于是在网上搜索 找到一片关于这个问题的文章,连接如下:http://blog.csdn.net/dj0708/article/details/8721336 内容如下:
Invalid certificate chain (Received fatal alert: certificate_unknown)! Verify that the keystore you provided was produced according to specs...是由于导证书的时候 导的是产品推送的钥匙串.p12而不是 Apple Production IOS Push Services:XXX 的.p12 ,切记选择导出证书的时候保证推送证书的p12而不是钥匙串的
正常的导出p12
错误的导出p12
文中说是导出p12的问题,由于无法在最初的电脑上重新导出p12 所以我准备重新create一个证书,这里先推荐两篇不错的文章:
实现ios应用push功能的文章:
http://tanqisen.github.io/blog/2013/02/27/ios-push-apns/
push证书的步骤
http://saeapns.sinaapp.com/doc.html
新改版的苹果网站和教程上有一些不同但都大同小异 基本都可以搞清楚的,重新create的过程我就不在多说了,看上面的文章就可以解决
用新的证书测试之后还是无法收到推送的消息,后来又仔细看服务器端的问题才发现是配置问题,修改配置之后又用原来的证书测试 也能收到推送的消息了。按道理重新create证书之后之前的证书应该就不能用了 可能是苹果服务器还没有更新吧