第七步:调用。新建一个项目,拖入已经打包好的.a文件和include文件夹到新建的工程中:
运行项目,控制台打印:
静态动态库Demo[3566:147899] ======staticLibMethod======
完成。
额外选项:如果你在运行模拟器环境的.a文件的时候,如果选择的是iPhone 5模拟器,你会发现生成的.a文件只能在iPhone5的模拟器才能运行,在高于iPhone5的模拟器上运行,会报架构方面的错误,这主要是因为iPhone5的模拟器和高于iPhone5的模拟器所使用的系统架构不一样所导致的,打开终端,cd到iPhone5打包的.a文件路径下,然后输入: lipo -info libStaticLibTest.a 回车,可以看到输出的结果:
input file libStaticLibTest.a is not a fat file
Non-fat file: libStaticLibTest.a is architecture: i386
注意,是i386的架构,
然后cd到高于iPhone5模拟器打包的.a文件路径下,输入:lipo -info libStaticLibTest.a 回车,可以看到输出的结果:
input file libStaticLibTest.a is not a fat file
Non-fat file: libStaticLibTest.a is architecture: x86_64
注意,是x86_64的架构,所以,如果想要打包的.a文件也支持iPhone5的模拟器,就需要专门选择iPhone5模拟器运行,生成.a文件,然后将真机的.a文件,高于iPhone5模拟器的.a文件,三个文件一起合并,输入命令:lipo -create libEOCLib.a libEOCLibR.a libEOCLibI5.a -output finalStaticLibTest.a 其中,libEOCLibI5.a是在iPhone5模拟器下打包的.a文件。