一、打包静态库
1.创建一个名为GenerateStaticLibrary(名称可以自主命名)的静态库工程
2.删除自动生成的GenerateStaticLibrary.h和GenerateStaticLibrary.m文件
3.导入或新建静态库的代码(我这里新建了C文件和C++文件)
4.如果需要C++混编,需要修改Compile Sources As为Objective-C++,否则在导入静态库的项目中混编C++代码时,编译器报错
5.修改 Product->Scheme-> Edit Scheme 为 Release
6.选择真机调试模式,Command + B进行编译
7.再用模拟器调试模式,Command + B进行编译
8.得到的.a文件在Products文件目录下,选中.a文件 右键 show in finder
9.Release-iphoneos和Release-iphonesimulator文件目录下的.a文件即是我们需要的对应真机和模拟器上使用的静态库文件
10.将连个.a文件移动到一个自定义的目录下,并重命名为两个不一样的文件名
11.因为两个静态库文件只能分别对应使用与真机和模拟器,所以在使用的过程中建议将两个文件合并为一个文件,以便通过一个静态库文件可以在支持在真机和模拟器上运行
合并命令如下:
lipo -create /文件路径/libGenerateStaticLibrary_simulator.a /文件路径/libGenerateStaticLibrary.a -output /文件路径/libGenerateStaticLibraryUniversal.a
二、在Xcode中导入静态库
1.将.a文件和头文件导入到项目中。需要注意的是在添加文件时,选项的选中
3.如果涉及到C++代码的混编,则需要把使用到C++代码的.m文件的后缀改为.mm
三、编译静态库时自动导出.h头文件
在上述编译静态库时,并没有自动导出头文件。在使用的时候,需要手动筛选出所有的头文件,这显然是一件很麻烦的事。下面的内容是在编译静态库时,自动导出头文件的操作步骤。