最近在項目中,遇到了在測試環境下可以正常接收到推送通知,但是在正式環境下卻不可以接收到推送通知。問題可能在于,用Xcode直接安裝的APP,都是使用的測試證書,是以收不到正式伺服器推送的消息;可以将程式打包成ipa檔案,選擇正式證書安裝。
通過實驗,發現如下:
- 通過Xcode直接安裝(都是測試證書)
測試伺服器+測試證書:xcode直接安裝,正常推送。 正式伺服器+測試證書:xcode直接安裝,不正常推送。
- 打包成ipa檔案(兩種證書可選)
測試伺服器+測試證書:打包上傳到bugly,正常推送。 正式伺服器+測試證書:打包上傳到bugly,正常推送。 測試伺服器+正式證書:沒必要,不會把測試伺服器扔appstore上。 正式伺服器+正式證書:打包上傳到appstore或TestFlight,正常推送。
問題原因:因為我在測試正式伺服器的推送時候,用的是Xcode直接打包安裝到手機的,是以,不能正常接收到推送。
解決辦法:用正式伺服器+測試證書,打包成ipa檔案,上傳到bugly,下載下傳測試,沒有問題。
總結:
通過Xcode直接安裝的,都是測試證書。
打包成ipa檔案,有兩種證書可選。
正式證書隻用在appstore上。