React native 跳转到原生拨打电话

96
简翦儋箪
2016.09.09 15:39* 字数 530

自己的项目中有打电话功能,上网搜索只看到了一篇关于安卓的打电话,对于安卓一点不熟悉的我来说,看那些代码无异于是天书,所以上网找了一些跟原声交互的,自己写了一个比较简单的跳转到原声打电话的方法:

相关资料:

http://www.jianshu.com/p/ffe9e8b8dbe6

http://reactnative.cn/docs/native-modules-ios.html#content

1.需要跳转到原生:因为我的项目直接就是rn创建的,如果本事是原声,要导入rn的话,可以看相关资料的第一个链接,博主写了方法。

1️⃣在原生新建 CalendarManager 类,继承 NSObject. 在.h文件里面要导入头文件 并且遵守协议

2️⃣ 在.m里面要写入 RCT_EXPORT_MODULE() 这个宏,具体的可以看想关资料的第二个链接,里面有详细介绍,然后在RCT_EXPORT_METHOD() 这里面开始实现功能。()里面可以穿回调函数也可以传内容,看个人需求,我传的回调函数

3️⃣这样原生界面就写完了,然后回到 RN界面,引入:

import {NativeModules} from'react-native';

然后把你在原生写的页面引入进来,本来我是想用es6的方法引入,结果搞错了,具体原因我也不知道,没解决出来,所以我用了es5的语法,导入了进来:

varRNPhoneManager= NativeModules.RNPhoneManager;

4️⃣然后在你想打电话的方法里面去实现就可以了


用蓝色框起来的是必须要写的,其他的地方,可以自己改。这样就实现打电话了。

注:如果原生写完,运行代码出错误,可以在React-iOS -> TARGETS -> React-iOS -> Build Phases -> Link Binary Width Libraries中导入libz.1.1.3.tbd,libstdc++.tbd两个文件。具体可以看我前面贴出的相关资料里面的连接,里面有介绍

日记本