xcode 从 v6.0开始正式支持framework的工程,也可以说是从iOS 8开始可以在项目中集成动态链接库,在iOS8之前除了系统自带的framework之外,第三方库只支持静态链接库。
我们此处只探讨如何基于swift构建framework, 对于oc的framework构建,我们在此不做讨论。
1 构建framework工程。
首先XCode新建一个project,类型选择Cocoa Touch FrameWrok,我们命名工程名为XKLogger。语言选择Swift.
创建完成会生成一个XKLogger.h的文件,此文件相当于framework中需要暴露出的接口的汇总,在oc的framework中,这个是相当关键的,其会被配置在build phases中的header的public中。然而Swift并不根据头文件来定义其访问范围,而是通过关键字来访问,所以可以删除此头文件。
为了更符合规范我们把info.plist放到sources文件夹中,整理完的代码结构如下:
![](https://i-blog.csdnimg.cn/blog_migrate/1c4065fe31fd48590dd0f6c460016d86.png)
重新build一下,如果我们Products文件夹里面的framework由红变黑,说明我们的工程编译成功。
2 完善FrameWork工程
接着我们随便往工程里面创建一些类和方法,如下:
![](https://i-blog.csdnimg.cn/blog_migrate/8dee29fe5ff6188a1be67d25b11b3abe.png)
我们创建了一个类里面有两个方法,一个简单的打印,一个返回简单的字符串。
3 单元测试
我们可以通过添加一个单元测试的Target来测试我们的接口,
![](https://i-blog.csdnimg.cn/blog_migrate/5323bbdbaa72fe37f8bebaf3c4b155ff.png)