静态库创建

.a静态库
1,新建cocoa touch static library 项目
2,新建文件夹和类文件
3,target,Build Phases ,Copy Files中添加头文件。
4,Build Setting,Build Active Architecture Only修改为NO,否则生成的静态库就只支持当前选择设备的架构。
5,编译,模拟器和Generic iOS Device
6,查看结果,lipo -info 名字

.framework 静态库
1,新建cocoa touch framework项目
2,新建文件夹和类文件
3,target,Build Phases ,Headers中添加头文件。
4,Build Setting,Build Active Architecture Only修改为NO,否则生成的静态库就只支持当前选择设备的架构。
5,修改生成的Mach-O格式,因为动态库也可以是以framework形式存在,所以需要设置,否则默认打出来的是动态库。将target->BuildSetting->Mach-o Type 设为Static Library(默认为Dynamic Library)
6,编译,模拟器和Generic iOS Device
7,查看结果,lipo -info 名字

静态库合并:
lipo -create 第一个framework下二进制文件的绝对路径 第二个framework下二进制文件的绝对路径 -output 最终的二进制文件路径

其它:
如果静态库中有category类,则在使用静态库的项目配置中Other Linker Flags需要添加参数-ObjC或者-all_load。
如果创建的framework类中使用了.tbd,则需要在实际项目中导入.tbd动态库。

你可能感兴趣的:(静态库创建)