1.iOS开发首次接入极光推送,开发过程中测试推送一切正常。但是,这个但是,发布了生产环境苹果手机竟然收不到推送的消息,而此时安卓的手机却一切正常的能够收到!
为什么呢?????
2.找原因啊,排查错误,服务器先查了,推断难道是因为推送的内容太多了?我们就减内容,发现不是,推送内容减的几乎没有了还是收不到消息,这个推断被推翻了。。。。。。。
3.怎么办,继续找>>>>>什么原因呢?????想啊想。。。。。。从客户端开始查找。
3.1先看证书,证书一切正常没有问题。
3.2再看极光的SDK导入的一些配置和参数,一切正常,木有问题啊?????
3.3怎么办?查看推送的历史,这个时候,对!!!就在这个时候发现了一个奇怪的问题如下:
为什么平台上显示的是ios-dev呢?有问题,此处肯定有问题!!!因为我打的包明明是生产的包啊。。开始找原因,看证书,没有问题,看极光平台,没有问题??那么问题出在哪呢?这些消息是后台推过来的,那么问题有可能出现在后台。找原因,发现,对!!!!!又发现了一个问题。在推送历史里面看到了这样的一句话。如下:
apns_production,咦!这个字段怎么看着这么熟悉呢。翻译过来就是推送生产,,,但是后面跟的怎么是false呢?此处肯定有鬼。。对就是它在捣乱。
4.排查原因,最后发现原来这个需要在后台配置,因为默认的是不能推送到生产的,默认的是推送到开发环境的!!!!天啊!我的天啊!!极光接入文档中竟然不特别的说明,这么严重的问题。。。极光你个坑爹的货。。
5.于是乎我们后台的小哥哥在后台推送时加上如下代码:
pushPayload.resetOptionsApnsProduction(true);
6.我的天,我的天。。。。通了,终于通了!此时感觉,原来世界这么的明朗,我还是爱我的生活的,我还是爱我的世界,我还是爱我的祖国!于是想要吟诗一首:从明天起,做一个开朗的人,面朝大海,春暖花开!从明天起,环游世界,播种,发芽,生子结婚,,,,,,。“喂喂”,@“喂喂”,@“醒醒”,@“你的代码又出BUG了”。。。。。哦,原来我是一个程序员,写代码吧!写代码使我快乐,写代码使我开心,写代码。。。。。。。