iOS极光推送,测试环境可以收到信息,而正式环境收不到的问题

写这篇文章,是因为前几天自己也遇到这个问题,虽然最后解决了。但是解决过程出现了不少插曲。

情况是这样的,就是应用在测试环境下可以收到极光推送,而在正式环境下却不可以。然后告诉服务端这个需要他们适配iOS这边的环境,可是服务端那边一定要说是前端的问题。于是乎,楼主就自己去找了客户端的代码给看解决方法,最后把问题给解决了。

解决方法如下:

首先客户端在正式环境(product)下,在如下代码中,isProduction 这个字段记得设置为TRUE  或者 YES 也行

  [JPUSHService setupWithOption:launchOptions

appKey:jPushAppKey

channel:channel

apsForProduction:isProduction

advertisingIdentifier:nil];


然后最主要就是服务端啦.

如果你的服务端是Java写的,如(图一),找到对应代码,将里面的setApnsProduction,改为TRUE。




服务器端是PHP,如下(图2,图3),找到图2 这个方法,加入apns_production
这个字段


图2

图3


服务器端是C#,  这的里解决方法和Java是一样的,找到图4这个方法,


和Java差不多的解决方法,给pushPayload加多一个属性(在iOS里面是这样说在,在服务端不知是不是,如不是望指正),具体字段是什么就请自行查看。



作者:低头敲代码的小猿
链接:http://www.jianshu.com/p/f6701763f8f2
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

你可能感兴趣的:(bug收集)