【转】iOS集成 jpush-react-native常见问题
来源:互联网 发布:网络女歌手伤感情歌 编辑:程序博客网 时间:2024/05/16 17:29
给 iOS 应用添加推送功能是一件比较麻烦的事情,本篇文章收集了集成 jpush-react-native 的常见问题,目的是为了帮助用户更好的排查问题
1. 收不到推送
- 确保是在真机上测试,而不是在模拟器
- 自己的应用已经在 Apple developer 给应用配置推送功能,创建推送证书 (并且保证 bundle id 与 Apple developer 上的是一致的)如果之前没有接触过推送证书建议看视频来 官方集成视频
- 能够获取 deviceToken 但是收不到推送, 如果是使用 xcode 8,检查 (Project -> Target -> Capabilities ) Push Notification 选项是否已经点开,如果没有需要点开
2. 收到一条通知 JS 层会有多个 ReceiveNotification 事件
- 升级 jpush-react-native 到最新版本
- 有没有在合适的地方 remove ReceiveNotification 事件,如果多次监听该事件会导致重复接收
3. 如何消除 应用 icon 的角标(badge)
调用 JPushModule.setBadge 方法 如果设为 0,则表示情况角标
JPushModule.setBadge(5, (badgeNumber) => { console.log(badgeNumber)});
4. 开发环境能够收到推送,生产环境收不到推送
如果是通过控制台发送的推送,检查环境选择是否正确
- 如果是调用 REST api 发送通知,请检查推送参数
- 手机应用是否是仍然是 开发环境, 如果不是请打包 Ad Hoc 来测试
5. 自定义消息事件无法触发
如果通过控制台发送的自定义消息,确保选择的是自定义消息,而不是通知
- 检查是否监听了 networkDidReceiveMessage 事件
6. 点击推送唤起应用的时候 OpenNotificationLaunchApp 不调用
- 升级 jpush-react-native 到最新版本(旧版本还没做缓存处理,新版本已修复)
- 检查监听 OpenNotification 的操作是否异步调用,有用户应为在异步回调中才执行监听操作,导致事件已经上抛到 js 层但 js 层还没执行监听操作的问题
- 如果如果不是使用原生路由也可能出现这个问题,把监听代码尽量放到应用启动的时候
7. 通知在前台展示问题
- iOS 10 开始允许通知在前台展示这个地方在 Native 代码中控制
// iOS 10 Support- (void)jpushNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(NSInteger))completionHandler { // Required NSDictionary * userInfo = notification.request.content.userInfo; if([notification.request.trigger isKindOfClass:[UNPushNotificationTrigger class]]) { [JPUSHService handleRemoteNotification:userInfo]; [[NSNotificationCenter defaultCenter] postNotificationName:kJPFDidReceiveRemoteNotification object:userInfo]; }completionHandler(UNNotificationPresentationOptionAlert); // 需要执行这个方法,选择是否提醒用户,有Badge、Sound、Alert三种类型可以选择设置}
- iOS 10 之前是系统控制,应用在前台推送不展示
8. 找不到头文件 RCTJPushModule.h
- 在 iOS 工程中如果找不到头文件可能要在 TARGETS-> BUILD SETTINGS -> Search Paths -> Header Search Paths 添加如下如路径
$(SRCROOT)/../node_modules/jpush-react-native/ios/RCTJPushModule/RCTJPushModule
RN 在 0.40.0 之后 不会自动加入这个路径了,要手动加一下
9. 在 iphone 5 的模拟器编译不通过
JPush SDK 在 3.0.0 及以后版本不再支持 i386 的模拟器了需要在 iphone 5s 以上版本中测试
10. 找不到 jcore-react-native
- 在 jpush-react-native 1.4.4 以后版本 需要通知安装 jcore-react-native 才能正常使用
原文链接:http://www.jianshu.com/p/f4651157eb18
阅读全文
0 0
- 【转】iOS集成 jpush-react-native常见问题
- 集成 jpush-react-native 常见问题汇总 (iOS 篇)
- 集成 jpush-react-native 常见问题汇总 (iOS 篇)
- 集成 jpush-react-native 常见问题汇总 (iOS 篇)
- React Native 集成jpush-react-native
- React-Native集成JPush-react-native及应用设置Tags、Alias(iOS/Android)
- React Native Android JPush消息推送集成
- ios原生集成React Native
- ios集成react-native步骤
- React-Native-iOS推送集成
- 原生Android项目中集成react-native以及jpush-react-native(极光推送)
- 【react-native-0.31-iOS】iOS集成react-native(01)
- iOS React Native 混合开发集成React Native
- iOS原生项目中集成React Native
- iOS原生项目中集成React Native
- iOS原生项目中集成React Native
- React Native集成到原生项目(IOS)
- React Native 集成到原生项目(iOS)
- SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
- 搜索引擎选择: Elasticsearch与Solr
- PullToRefresh引入依赖,布局,适配器ListView上拉加载下拉刷新
- java基础-final关键字
- GPU卡的主流调度平台
- 【转】iOS集成 jpush-react-native常见问题
- mysql和python的链接
- hdu1176免费馅饼(数塔问题,动态规划)
- vue.js中使用slot
- c++ fstream操作
- 【TensorFlow】神经网络模型训练及完整程序实例(五)
- Rxjava操作符入门(二)
- 一般函数指针和类的成员函数指针
- git的基本流程