1.新建工程,选择如下:
2.新建的工程中会有两个文件XXX.h 和 XXX.m,在XXX.m中随便输入一段代码,例如"- (void)printA;"和"+ (void)printB;"的方法,这个方法的实现也是很简单的,在*.m文件中的实现就是一个"NSLog(@“”);"这样我们编译出来的libstaticlib就可以被其他的IOS工程进行调用了。这块注意一下,目前我们的Print->iOS Device。
3.编译前准备,这里分release与debug版本,需要设置一下。
4.在target->building setting中新建一个header,把需要暴露的文件放在public里面,如下,因为我已经添加过了,所以是灰色的。
这里分为三项:public是要暴露出来的头文件,private是私有的,也要添加进去。
5.编译,要编译模拟器版本和真机版本,分别command+B即可,然后
点击如下show in finder查看即可看到,这里分为模拟器和真机。
6.到这里四十已经可以了,但是我想再普及一下知识,如何查看静态库是支持真机还是模拟器呢?
其实非常简单,打开终端:
输入命令:lipo -info XXX.a文件路径(直接把.a拖进终端即可)
7.那么如何合并静态库呢?
lipo -create SQY/iOS/iphoneos/libGamePlusAPI.a SQY/iOS/iphonesimulator/libGamePlusAPI.a -output SQY/iOS/libGamePus.a
其中SQY/iOS/iphoneos/libGamePlusAPI.a //为真机库。 SQY/iOS/iphonesimulator/libGamePlusAPI.a //为模拟器库 -output SQY/iOS/libGamePus.a //为两个合并后存放的路径然后可以输入命令测试下是否成功 lipo -info SQY/iOS/libGamePus.a //下面是输出 armv7 i386 有了两个就表情模拟器和真机都支持 其中armv7为真机架构 i386为模拟器Architectures in the fat file: SQY/iOS/libGamePus.a are: armv7 i386