最近在项目中,遇到了在测试环境下可以正常接收到推送通知,但是在正式环境下却不可以接收到推送通知。问题可能在于,用Xcode直接安装的APP,都是使用的测试证书,所以收不到正式服务器推送的消息;可以将程序打包成ipa文件,选择正式证书安装。
通过实验,发现如下:
-
通过Xcode直接安装(都是测试证书)
测试服务器+测试证书:xcode直接安装,正常推送。 正式服务器+测试证书:xcode直接安装,不正常推送。
-
打包成ipa文件(两种证书可选)
测试服务器+测试证书:打包上传到bugly,正常推送。 正式服务器+测试证书:打包上传到bugly,正常推送。 测试服务器+正式证书:没必要,不会把测试服务器扔appstore上。 正式服务器+正式证书:打包上传到appstore或TestFlight,正常推送。
问题原因:因为我在测试正式服务器的推送时候,用的是Xcode直接打包安装到手机的,因此,不能正常接收到推送。
解决办法:用正式服务器+测试证书,打包成ipa文件,上传到bugly,下载测试,没有问题。
总结:
通过Xcode直接安装的,都是测试证书。
打包成ipa文件,有两种证书可选。
正式证书只用在appstore上。