前言
最近OC项目中使用到了charts做图标绘制,确实是一个很酷并且功能强大的类库。里面包含了各式各样的图标样式,但是使用的是Swift语言编写,所以就涉及到混编的一些操作配置。
你可以通过两种方式集成进你的项目中:
下载后手动添加 (本文主讲)
Cocopods的方式集成
注意一下使用条件:值得注意的是工程的 Tagerts 最低设置 8.0
解压后的文件夹里面的内容是这个样子的,如下图:
导入工程中的步骤
新建工程
新建工程,取名为ImportChartsDemo.
复制Charts整个文件到ImportChartsDemo工程中
就是把上图中解压后的文件(剔除红色框中的文件,当然也可以剔除其他一些没有用的文件,由于我没有剔除多余的文件,并最终集成成功,所以就暂时视除了红框内的文件都需要)拷贝到ImportChartsDemo主工程文件夹下。
导入Charts.xcodeproj
右击项目,选择 -> Add Files to”xx”, 在弹出的选择文件框中选择”Charts.xcodeproj”(注意:不要选择文件夹)。
添加Charts.framework
找到General->Embedded Binaries,点击+号添加Charts.framework,如下图:
Embedded Binaries位置
添加的iOS的framework,如下图:
添加Charts.framework
建立OC和Swift的桥接文件
在ImportChartsDemo工程中新建一个Swift文件,名字随便取,这时候会提示是否建立桥接文件,直接选Create Bridging Header 选项,如下图:
建立桥接文件
新建完成后,会自动生成一个桥接文件,如下图:
自动生成的桥接文件
设置编译选项及引入Charts
1.设置编译选项
找到Build Settings -> Embedded Content Contains Swift Code 选项,设置为Yes,如下图:
设置编译选项
老工程的话是没有上面的设置的,如下图设置即可:
2.在桥接文件中引入Charts
如下图:
引入Charts
3、桥接文件和开启混编配置。如果后续报错,可以再删掉
4.在ViewController.m中引入相关头文件
如下图:
引入头文件
引入完成之后,编译一下,如果有错,Clean一下再次编译,编译没有错误说明导入成功.
项目集成使用中的一些报错
dyld: Library not loaded: @rpath/Charts.framework/Charts
FAEFA9CE-2914-4C86-9334-C9728C47715F.png
说明 程序里面有动态库。需要配置xcode
targets -> general -> embedded binaries 在这里添加需要的动态库!
我这里则需要把Charts.framework添加里面即可。
如下图
并开启这个设置
4AC49923-AB62-40B3-AE9C-84C865C8D961