美文网首页大前端开发
React-Native 跳转iOS 的插件

React-Native 跳转iOS 的插件

作者: wangxiao001 | 来源:发表于2019-08-22 17:14 被阅读2次

             由于项目需要,需要将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

    相关文章

      网友评论

        本文标题:React-Native 跳转iOS 的插件

        本文链接:https://www.haomeiwen.com/subject/uocssctx.html