iOS 创建静态文件库及使用

一、创建.a库文件及其使用

1.新建工程,选择Static Library: 

      这个时候.a文件显示是红色的,因为库还没有生成;

2.在工程中创建新的类及自己的实现方法;

3.修改项目配置:在配置Build Phases>Copy File中选择添加所有的.h文件,

4.修改编译指令集:Build Settings>Architectures>Build Active Architecture Only 中的Release为NO,

模拟器:iPhone4s~5 : i386 iPhone5s~6plus : x86_64
真机:iPhone3gs~4s : armv7 iPhone5~5c : armv7s iPhone5s~6plus : arm64

如果设置为YES,那么编译出来的.a静态库就只包含当前设备的指令集;设置为NO,则会把所有指令集的都打包合并。

注:如果静态库中有category类,则在使用静态库的项目配置中【Other Linker Flags】需要添加参数【-ObjC]或者【-all_load】。

5.编译:Command+B编译后,libMySDK.a就变成了黑色;

  这时可以看到Products目录下有【Release-iphoneos】和【Release-iphonesimulator】两个文件件。前者里面是真机使用的.a静态库,后者是模拟器使用的.a静态库;

通过命令可以将模拟器使用的静态库与真机使用的静态库合并成一个静态库:

      lipo -create 第一个.a文件的绝对路径 第二个.a文件的绝对路径 -output 最终的.a文件路径。

6.将生成的libMySDK.a库及.h文件导入到工程中就可以使用了:

猜你喜欢

转载自blog.csdn.net/pAdision/article/details/82969579