创建静态库
Xcode中编译静态库其实非常简单,就是新建一个静态库类型的项目,如图中所示。
但是这篇文章把这个简单的过程讲得太细致了。而且由于Xcode也在升级,所以那篇文章中的方法对于最新的Xcode(7.3.1)并不适用,反正我是没成功。
如果要向项目中添加新的类,直接创建新的Cocoa类即可。如果是添加已有代码到库中,直接将代码拖动到项目中,注意一定要把Add to targets
项选中,默认是不选的,我之前就是因为这个原因失败。在其他项目引用该静态库时找不到头文件。
添加代码后可以在项目的Build Phases
中看到类似下图的文件结构。在分析此结构之前先来回忆下静态库要解决的问题,无非是隐藏代码实现,只提供编译成二进制的静态库和头文件供调用者使用。因此对于库调用者,只关心库和调用该库所需要的头文件。对于库开发者,关心的只是编译该库所需要的源码和头文件。
此时再看Build Phases
的文件结构,其中Compile Sources
是要编译进库的源文件,这个在添加代码到项目,并且选中了Add to targets
时,会自动出现在Compile Sources
的列表中。
Copy Files
中的头文件,是库开发者要暴露给调用者的头文件,此列表中的文件在代码加入项目中时不会自动加入,需要手动添加进去。
完成上述设置后,可以直接生成静态库了,就这么简单。此时选中静态库文件,右击选中Show in Finder
可以看到类似下图所示的文件结构。
测试静态库
新建一个项目,将上述静态库的project文件直接拖进新的项目中就可以了。
在target设置中,将静态库链入。
调用库。