關於無法接收訊息推送問題的修改
今天解決了一下發布版訊息推送證書無法收到訊息推送的問題,經過一番折騰發現原來是伺服器配置問題,不過也捋了一下訊息推送的流程。
之前有一次也是訊息推送無法收到,用開發版證書跟蹤找到原因是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證書之後之前的證書應該就不能用了 可能是蘋果伺服器還沒有更新吧