[React Native] 极光推送,测试环境能收到,生产版本收不到

使用ReactNative集成极光,使用jpush-react-native

问题

极光推送,iOS测试环境能收到,正式版本收不到。Android测试和正式环境都可以收到。

原因

是打包的App中包含了测试版的JPush

以上问题的自我检测流程:

  • 检测推送证书,测试版/生产版都OK
[React Native] 极光推送,测试环境能收到,生产版本收不到_第1张图片
Paste_Image.png
  • 和极光官网配合推送测试,先避免走服务器推送,缩小错误的范围
    正式环境发送:能否收到
    测试环境发送:能否收到
    我遇到的问题就是,打包后的生产版本,生产环境推送收不到,测试环境推送能收到

  • 初始化参数:极光初始化有个参数isProuction,是否是生产版,正式发布时要更改
    iOS、go等SDK都有这个参数,Android SDK没找到,不区分debug/release,这个从JPush官网就可以看到

  • 我遇到的问题是iOS正式版本打包,isProduction=true,但是生产环境收不到,测试环境可以。
    推断原因是打包时JPush.isProduction没有生效

  • 其余问题参考:
    极光推送开发环境可以收到,生产环境收不到推送 (爬坑笔记)
    http://www.jianshu.com/p/0d382c4d98ff

原来iOS默认配置

Automatically manage signing 
BuildSetting => Code Signing Identity => debug/release 都是 iPhone developer,XCode会自动更改

目前怀疑 XCode可以自动识别,但是 JPush无法识别是debug/release

现在配置如下

[React Native] 极光推送,测试环境能收到,生产版本收不到_第2张图片
Paste_Image.png
[React Native] 极光推送,测试环境能收到,生产版本收不到_第3张图片
Paste_Image.png

常见问题

Q:XX.entitlements里面 APS Enviromment => development正式上线需要修改么?
A:不需要,不要管它,改了打包可能会报下图错误

[React Native] 极光推送,测试环境能收到,生产版本收不到_第4张图片
Paste_Image.png

你可能感兴趣的:([React Native] 极光推送,测试环境能收到,生产版本收不到)