大前端开发

React-Native 跳转iOS 的插件

2019-08-22  本文已影响2人  wangxiao001

         由于项目需要,需要将iOS开发的SDK集成到React-Native工程中。可以根据官方文档,开发插件。整体思路:iOS原生这边集成SDK后,写个iOS和RN的交互类,暴露给RN ,RN再调用SDK接口跳转到原声页。成功或失败,内部SDK中有回调,通过iOS这边监听的触发通知RN成功或失败。

步骤一:创建RN工程

    1、安装:

    $ npm install -g yarn react-native-cli

    $ npm install -g react-native-create-library

    2、创建工程

    $ react-native init TestProject

   3、编译并运行

   $ cd TestProject

   $ react-native run-ios

  下图就是新建好的文件结构。在AppDelegate.m文件中,已经自动生成好rootViewController,方便用户使用。此外,如果工程名和js文件名有所变动的话,划红线的地方就要同步修改。

图1

步骤二:配置工程各类参数和库

        将需要的架构加入项目中,并且针对不同的架包,要配置好架包需要的配置文件。

步骤三:RN 和 ios的交互

          首先我们在工程中新建一个类TestSDKManager的类,然后.h文件 去实现 “RCTBridgeModule”协议的Objective-C类,如下图

图2

         其次,编写TestSDKManager.m文件。要实现RCTBridgeModule协议,就得有以下几个步骤:

1、定义宏。RCT_EXPORT_MODULE();在括号中,可以定义自己喜欢的模块名字,方便JavaScript访问模块。如果未填,表示默认用oc类的名字,

2、定义方法。RCT_EXPORT_METHOD()宏用来定义桥接方法,该方法主要是给JavaScript导出需要的方法,供JavaScript调用。

3、回调。回调的方式有几种,此处使用的是Promises方法,在桥接的原声方法后面添加RCTPromiseResolveBlock和RCTPromiseRejectBlock,即可方便的回调。

图3

  最后,编写js文件,主要实现的方法是调用iOS的sdk,针对iOS的回调进行处理。如下图:首先要引入NativeModules。然后在需要的地方调用ios方法,并且针对回调的情况进行相应的处理。

图4
上一篇下一篇

猜你喜欢

热点阅读