静态库作用
作为一个开发者,肯定会有一套属于自己的类和工具函数,它们在你的大多数项目中被重用。一个静态库是若干个类,函数,定义和资源的包装,你可以将其打包并很容易在项目之间共享。
为什么使用静态库?
创建静态库可能出于以下几个理由:
1.你想将一些你和你团队中的同事们经常使用的类打包并轻松的分享给周围其他人。
2.你想让一些通用代码处于自己的掌控之下,以便于修复和升级。
3.你想将库共享给其他人,但不想让他们看到你的源代码。
静态库链接时会被完整的复制到可执行文件中,被多次使用就有多份拷贝。
WechatIMG5.jpeg
静态库的打包
现有一个常用工具类YSTimeUtils,用于时间格式的转化,现已此工具类来做实例,打包静态库。
以下为该工具类的截图
1、打开Xcode创建一个新的工程,这里以Xcode8为例,选择工程如下:
此次已.a文件静态库打包为例,选择cocoa touch static library
WechatIMG6.jpeg
2、创建工程完毕后,将我们需要打包的YSTimeUtils文件直接拖动到新建工程里。
WechatIMG8.jpeg
3、运行工程进行打包
WechatIMG9.jpeg
运行完毕后,我们会看到工程中Products文件夹下的libStaticLib.a文件由红色变成了黑色。右键show in finder可以在其目录下找到它。这就是我们打包好的.a静态文件了。
WechatIMG10.jpeg
但是这样就完了吗?当然没有,我们知道静态库存在的最大意义是隐藏代码的具体实现,但是这也隐藏的太彻底了,总要公开些接口或者头文件供人调用吧。
4、公开接口头文件
targets->Build Phases->Copy Files->"+"你需要公开的头文件
这里我们把新建的测试类StaticLibTool.h公开
WechatIMG11.jpeg
公开头文件后,我们再按上述1、2、3流程重新运行打包,我们会得到一个头文件和一个.a静态库(如下图),而这正是我们所需要的。
WechatIMG14.jpeg
5、新建一个可运行的工程,把这两个打包好的文件拖入项目测试
WechatIMG15.jpeg
6.导入头文件,运行测试
WechatIMG16.jpeg
运行成功
网友评论