在iOS开发中,我们会发现一些偏底层或基础代码是直接可以复用的,当我们换一个项目,改变的只需要是偏上层的业务逻辑代码,所以我们可以把这部分基础代码制作为一个静态库static library,并不断扩展,这样我们重新开发一个新项目,就可以直接引进这个静态库,再添加上层的业务逻辑代码即可,会大大提高我们开发的效率。
下面以一个例子说明制作静态库和相关导入的必须操作。
假设这个静态库为Commom,新工程为Example。
首先,新建一个静态库,如图:
点完成后就可以生成一个静态库了。然后把需要添加的基础代码添加就可。
然后我们像平时一样建立的工程Example,把Commom.xcodeproj工程直接拖进Example,如图:
由图可知,Example工程已经引用了Commom.xcodeproj.
下面需要在Example工程的Build Phases找到Link Binary With Libraries,添加这个lib。
然后下面是比较关键的添加对应的paths和flags。
在Example的Build Settings找到Other Linker Flags,然后添加如图信息:
其中必须需要注意的是,-all_load和-Objc是必须添加的,否则在使用commom里面的category会导致崩溃,这主要是没有在Other Linker Flags没有添加all_load,导致实际上没有真正导入这个文件。
还需要在Build Settings找到User Header Search Paths添加如下路径:
也就是添加Commom的文件路径。
这样基本能完成静态库跟当前工程的连编。以后一些基础代码就可以放在commom,然后新建项目的时候就可以基于commom。