iOS 推送分为开发和生产两个环境,不同环境的设置要和后台的设置对应才能保证代码不出错的情况下能够收到推送。
通过实验,发现如下:
通过Xcode直接安装(都是测试证书)
测试服务器+测试证书:xcode直接安装,正常推送。
正式服务器+测试证书:xcode直接安装,不正常推送。打包成ipa文件(两种证书可选)
测试服务器+测试证书:打包上传到fir,正常推送。
正式服务器+测试证书:打包上传到fir,正常推送。
测试服务器+正式证书:没必要,不会把测试服务器扔appstore上。
正式服务器+正式证书:打包上传到appstore或TestFlight,正常推送。
问题原因:因为我在测试正式服务器的推送时候,用的是Xcode直接打包安装到手机的,因此,不能正常接收到推送。
解决办法:用正式服务器+测试证书,打包成ipa文件,上传到fir,下载测试,没有问题。
总结:
通过Xcode直接安装的,都是测试证书。
打包成ipa文件,有两种证书可选。
正式证书只用在appstore上。
打包出来的版本和服务器的iOS推送环境设置要一致