之前写了些RN的第三方插件的教程,(比如react-native-baidu-map
iOS端集成:http://www.jianshu.com/p/eceb7e66fa5e ,RN升级配置说明
:http://www.jianshu.com/p/0c30e94de69b ) ,我觉得写博客来帮网友解决问题,比单纯的截图和QQ聊天效率更高,并且复用性高,不用再重复解答。可能很多朋友都在集成第三方的时候会遇到一些莫名其妙的报错,稀奇古怪的填坑,所以此时我们需要有极强的耐心,和清晰的思路。好了,话不多说,接下来开始一步一步集成图表插件react-native-charts-wrapper
:
![](https://i-blog.csdnimg.cn/blog_migrate/08d6474fedbb2d1ad066b10d58dbb47d.webp?x-image-process=image/format,png)
图片.png
图表插件react-native-charts-wrapper github地址
1.新建一个新的项目,从零开始演示(ChartsTest)
![](https://i-blog.csdnimg.cn/blog_migrate/1904ca7c772bb65d3bc5af51f4b3860a.webp?x-image-process=image/format,png)
当出现以下界面,就说明新建项目成功:
![](https://i-blog.csdnimg.cn/blog_migrate/b54b8cac6d3c938d8ffb476b0487ef82.webp?x-image-process=image/format,png)
2.安装react-native-charts-wrapper(注意:一定要在项目根目录下进行安装):
cd到项目根目录:
![](https://i-blog.csdnimg.cn/blog_migrate/3500b35f715d20bb3b97f13aac782fbd.webp?x-image-process=image/format,png)
在终端输入:
npm install --save react-native-charts-wrapper
![](https://i-blog.csdnimg.cn/blog_migrate/7f0cd65e8321f943bef0b1adf7f30aac.webp?x-image-process=image/format,png)
3.把该目录下ChartsTest/node_modules/react-native-charts-wrapper/ReactNativeCharts
的整个ReactNativeCharts
文件夹,拖入到项目中:
![](https://i-blog.csdnimg.cn/blog_migrate/290796d31e52726300779e13c3016396.webp?x-image-process=image/format,png)
![](https://i-blog.csdnimg.cn/blog_migrate/c10ec37f6774925f493a2a80dca4979d.webp?x-image-process=image/format,png)
添加完后:
![](https://i-blog.csdnimg.cn/blog_migrate/04a2c8903702330775c57aba413824f3.webp?x-image-process=image/format,png)
4.Add Bridge File:因为后面会用到SwiftyJSON
andiOS Charts
,这是用Swift写的,所以我们需要一个桥接文件,方法如下:
新建一个工程名-Bridging-Header.h
头文件(注意,必须是工程名开头!!!):
![](https://i-blog.csdnimg.cn/blog_migrate/0b47cd81d02ed2e68fbaf3cf46a27cc1.webp?x-image-process=image/format,png)
![](https://i-blog.csdnimg.cn/blog_migrate/8cc9fd249db63ebe7a4dab3b5442cac7.webp?x-image-process=image/format,png)
![](https://i-blog.csdnimg.cn/blog_migrate/12e9573f8c02661f7854f39ec4787a1d.webp?x-image-process=image/format,png)
![](https://i-blog.csdnimg.cn/blog_migrate/004e73ad949a631d1160f4cbcadbe42b.webp?x-image-process=image/format,png)
然后:Edit ->
Convert ->
To Current Swift Syntax...
![](https://i-blog.csdnimg.cn/blog_migrate/1424aa4891ef77b46d83565f0e791fbc.webp?x-image-process=image/format,png)
![](https://i-blog.csdnimg.cn/blog_migrate/5db938c97394b5d21d221be526f60eb2.webp?x-image-process=image/format,png)
等待一会便好。。。
![](https://i-blog.csdnimg.cn/blog_migrate/1fcf5aa5efd89c7b8d3b725519371e7e.webp?x-image-process=image/format,png)
图片.png
![](https://i-blog.csdnimg.cn/blog_migrate/fe123e27afc2d4601fdcf1fd6cf777a3.webp?x-image-process=image/format,png)
接下来在桥接文件里添加:
#import "React/RCTBridge.h"
#import "React/RCTViewManager.h"
#import "React/RCTUIManager.h"
#import "React/UIView+React.h"
#import "React/RCTBridgeModule.h"
#import "React/RCTEventDispatcher.h"
#import "React/RCTEventEmitter.h"
如图:
![](https://i-blog.csdnimg.cn/blog_migrate/ab2651b662d536f1ee847806856a2799.webp?x-image-process=image/format,png)
5.接下来就需要使用我前面说的SwiftyJSON
andiOS Charts
我这里已经帮大家下好了,链接地址:链接: https://pan.baidu.com/s/1hs5M1Vm 密码: q2rt
下载下拉解压后,拖到iOS项目根目录下:
![](https://i-blog.csdnimg.cn/blog_migrate/75324e3c8689722f3e4fb272c33b8b60.webp?x-image-process=image/format,png)
![](https://i-blog.csdnimg.cn/blog_migrate/f0e01f66f166e2d3230a45cca1ed69e3.webp?x-image-process=image/format,png)
6.把刚刚的两个文件夹中的SwiftyJSON.xcodeproj
and Charts.xcodeproj
拖到工程的libraries
中:
![](https://i-blog.csdnimg.cn/blog_migrate/2e9bfceb48e370abff6f034b27ceec61.webp?x-image-process=image/format,png)
![](https://i-blog.csdnimg.cn/blog_migrate/f23355c365e986a739fa49c158cc830e.webp?x-image-process=image/format,png)
完成后如图:
![](https://i-blog.csdnimg.cn/blog_migrate/74df02f89ccd333332d5fc4ef86f5809.webp?x-image-process=image/format,png)
7.接下来->
Build Phases ->
Link Binary With Libraries添加SwiftyJSON.framework
and Charts.framework
.
![](https://i-blog.csdnimg.cn/blog_migrate/200e9dafe5c021b471631f4dee0d1746.webp?x-image-process=image/format,png)
![](https://i-blog.csdnimg.cn/blog_migrate/cf35fc7bb601395d10fa25181790e136.webp?x-image-process=image/format,png)
![](https://i-blog.csdnimg.cn/blog_migrate/ae49dbae1a7a8ec533532e8bcf399a00.webp?x-image-process=image/format,png)
完成后如图:
![](https://i-blog.csdnimg.cn/blog_migrate/214dcb4824a43eb95881f49334275fc7.webp?x-image-process=image/format,png)
8.添加SwiftyJSON.framework
and Charts.framework
到 Embedded Binaries.
![](https://i-blog.csdnimg.cn/blog_migrate/8288bad7bd93c0a0fbfa402ad1fb79c8.webp?x-image-process=image/format,png)
![](https://i-blog.csdnimg.cn/blog_migrate/5fdeed19675e64341e91130a06576666.webp?x-image-process=image/format,png)
完成后如图:
![](https://i-blog.csdnimg.cn/blog_migrate/68ef4068aacbd8f4090f728129443b6e.webp?x-image-process=image/format,png)
9.到这里配置已经完成,我们来Build一下:
![](https://i-blog.csdnimg.cn/blog_migrate/7155139d42cbdb2207b0d2aacd72fc4f.webp?x-image-process=image/format,png)
ok,配置成功!