-
通过Xcode的Cocoa Touch Framework创建的默认情况是动态库,我们可以在Build Settings中搜索Mach-O Type查看:Dynamic Library就是动态库
如果需要创建静态库时,将上图的Mach-O Type修改为Static Library即可
修改为Static Library后,我们可以创建一个类
在.h中声明对外的接口,在.m中实现
-
把需要暴露的.h文件放到Build Phases-Headers-Public中
-
分别对Debug和Release的真机占位和模拟器进行编译,就会对应的调试和发布的版本
编译之前还有在Build Settings中修改Build Active Architecture Only ,它是控制编译CPU架构的,我们分别在Debug和relaese中将其设置为NO,YES表示只编译选中模拟器对应的版本,NO则是表示不止编译活跃的架构,让所有的架构都编译,然后在调到Debug和relaese中分别进行编译即可,
给别人的是release版本的静态库
-
.a静态库和.framework静态库的区别:
- .a是纯二进制文件,.framework除了有二进制文件还有资源文件
- .a文件不能直接使用,至少要有.h文件的配合,.framework文件可以直接使用
.a + .sourceFile = .framework
建议使用.framework
-
静态库程序该怎么测试(使用复合项目测试)
- 创建一个项目(比如叫复合项目),用来来测试静态库的
- 在这个项目中再添加一个工程(比如叫Jingtaiku),点击下图的➕按钮,这个➕是在Targets最下面的,这个工程类型选择静态库
- 设置工程依赖:点击Targets-复合项目-Build Phases,在Target Dependencies中添加Jingtaiku
- 编译静态库:这个项目需要运行起来,必须将静态库添加到编译中,点击Targets-复合项目-Build Phases,在Link Binary With Libraries中添加Jingtaiku
以下小补充