博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
React-Native 工程添加推送功能 (iOS 篇)
阅读量:7120 次
发布时间:2019-06-28

本文共 1814 字,大约阅读时间需要 6 分钟。

推送已经是是手机应用的基本功能,如果自己实现一套推送系统费时费力,所有一般我们会使用第三方的推送服务,这里我使用「极光推送」作为集成推送的例子,因为有现成的 react native 插件  可以使用。

前置准备工作

安装软件

  • react native (0.41.2)
  • npm (V3.10.3)
  • xcode (V8.2.1)

创建工程

  • 在 Apple developer 上创建应用
  • 并且给应用配置推送功能,创建推送证书
  • 到  上创建自己的应用,并上传证书
  • 创建 React-Native 工程,修改 bundle identifier ,保证和在 Apple developer 上创建的应用一直。(Project -> Target -> General -> bundle identifier)
  • xcode 8 版本的话还需要在 (Project -> Target -> Capabilities ) 吧Push Notification 选项点开
    第一、二、三 步骤的详细介绍可以观看 , 这里就不在重复。
    (如果已有工程,则只需要完成第二和第三项步骤)

集成 jpush-react-native

配置工程

在完成上面的准备工作后,我们就可以正式开始插件的集成,这里会解释每个步骤背后都做了哪些操作。

按照官方的集成说明安装 jpush-react-native (这里使用最新版本 V1.5.0)

1. 安装 jpush-react-native 插件

npm install jpush-react-native --save

安装完后可以看到 package.json 的 dependencies 字段多了 "jpush-react-native" 依赖

2. 然后安装  插件

npm install jcore-react-native --save

安装完后可以看到 package.json 的 dependencies 字段多了 "jcore-react-native" 依赖。 由于极光开发者服务 SDK 采用了模块化的使用模式,即一个核心(JCore)+N种服务(JPush,JAnalytics,...)的使用方式,所以把公共核心代码分离出来,这样在使用极光推送多种服务的时候不会出现冲突。

3. 链接工程

react-native link

这个步骤,其实是吧 jpush plugin 工程添加到 自己的项目工程里面,可以看到 Libraries 目录多了一个 RCTJPushModule.xcodeproj 工程文件,如下图所示

 

同时这个步骤还会自动把 JPush 所依赖的库自动添加到工程中,可以看到

TARGETS -> Build phases -> Link Binary With Libraries 多了几个系统库,如下图所示

这些步骤都是自动完成的,不需要额外的操作。
然后把 其中一个库 UserNotification.framework status 设为 Optional

添加代码

1. 自动添加代码

jpush-react-native 插件提供了自动配置脚本

npm run configureJPush 

这个脚本会自动吧极光推送的代码插入到 Appdelegate.m 中。

到这一步 jpush-react-native 插件已经集成完毕。
我们试着这编译自己工程,如果出现找不到头文件的情况则需要在 iOS 工程中如果找不到头文件可能要在 TARGETS-> BUILD SETTINGS -> Search Paths -> Header Search Paths 添加如下如路径

$(SRCROOT)/../node_modules/jpush-react-native/ios/RCTJPushModule/RCTJPushModule

2. 手动添加代码

手动添加代码部分  已经说得很清楚了,这里就不再重复


作者:HuminiOS - 极光(JPush 为极光团队账号,欢迎关注)

原文:
知乎专栏:

posted on
2017-05-15 16:30 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/yezuhui/p/6857021.html

你可能感兴趣的文章
浅谈嵌入式软件的未来发展
查看>>
Dockerfile最佳实践(二)
查看>>
数学之美:两点之间最快的路径
查看>>
Ansible 详细用法部署安装
查看>>
CPU
查看>>
Spark的这些事<二>——几个概念
查看>>
Retrofit2.0使用
查看>>
网络01:双无线路由器无缝对接设置
查看>>
实现Android和PC之间的蓝牙通信
查看>>
rails将类常量重构到数据库对应的表中之二
查看>>
微软面试题:写程序找出二叉树的深度
查看>>
[Google Guava] 1.2-前置条件
查看>>
OEA框架 2.9 Pre-Alpha 源码公布
查看>>
我的MYSQL学习心得(十三) 权限管理
查看>>
Spring Data —— 完全统一的API?
查看>>
[翻译] JTBorderDotAnimation
查看>>
浏览器兼容性小记-DOM篇(二)
查看>>
091023 T GIX4 项目中的 智能部署 和 智能客户端
查看>>
Mondrian and OLAP
查看>>
【音乐分享】Let Me Go
查看>>