如何制作静态库及合并静态库

作者: LuxDark | 来源:发表于2016-03-22 12:57 被阅读286次

1.新建工程,选择如下:

838C5DB5-5437-4096-ADEA-09D9529F110B.png

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里面,如下,因为我已经添加过了,所以是灰色的。

8EB5831B-810A-4C1F-9647-56CA05065FD9.png

这里分为三项:public是要暴露出来的头文件,private是私有的,也要添加进去。

8BDEF7AB-6384-4D61-BCC2-D7DD8C41895B.png

5.编译,要编译模拟器版本和真机版本,分别command+B即可,然后
点击如下show in finder查看即可看到,这里分为模拟器和真机。

屏幕快照 2016-03-22 上午11.38.25.png E980615F-A153-40EF-81C5-9D91B0250415.png

6.到这里四十已经可以了,但是我想再普及一下知识,如何查看静态库是支持真机还是模拟器呢?
其实非常简单,打开终端:
输入命令:lipo -info XXX.a文件路径(直接把.a拖进终端即可)

28BD6758-8B7D-4B6A-9BEB-4B4089329B16.png

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

28BD6758-8B7D-4B6A-9BEB-4B4089329B16.png

相关文章

  • 如何制作静态库及合并静态库

    1.新建工程,选择如下: 2.新建的工程中会有两个文件XXX.h 和 XXX.m,在XXX.m中随便输入一段代码,...

  • iOS小知识 -- 静态库(一)

    静态库静态库的介绍.a静态库的制作以及测试静态库的架构问题.framework静态库的制作以及测试边开发边制作静态...

  • iOS 静态库合并与静态库支持框架查询

    工作总结: 如何合并两个静态库? 终端命令: lipo -create 静态库1名 静态库2名 -output 新...

  • iOS动态库、静态库及使用场景、方式

    前面介绍过制作过程,这里不讲如何制作动态库、静态库。 静态库和动态库都是以二进制提供代码复用的代码库。 静态库常见...

  • 静态库的制作与使用

    1、静态库的命名方式 lib+库名.a,如libtmath.a。 2、如何制作静态库文件 (1)将需要加到静态...

  • 11-静态库的制作

    本着尊重原作者的态度,关于静态库及动态库的制作,请参考jianshu 本篇文章主要是制作静态库以及动态库的方法 一...

  • iOS-静态库制作

    iOS中静态库制作非常简单,只要注意编译的架构和真机模拟器的合并,基本上静态库就可以投入使用.1.创建静态库 2....

  • ios中静态库.a的制作

    在ios中制作静态库之前,先来了解关于静态库的一些概念。 八、静态库和动态库在使用上的区别。静态库:链接时,静态库...

  • ios中静态库.a的制作和使用

    在ios中制作静态库之前,先来了解关于静态库的一些概念。 八、静态库和动态库在使用上的区别。静态库:链接时,静态库...

  • iOS-静态库&动态库

    静态库和动态库的区别,网上已经有很多文章了,这里就不做介绍了,本文主要讲下如何制作对应的库。 静态库制作: .a文...

网友评论

  • Mellong:有个方法,可以创建一个target,把脚本放在runscript自动生成合并好的库。
    LuxDark:@Mellong 是的 这样也可以,如果库文件代码存在的话。多谢指教。 :+1:

本文标题:如何制作静态库及合并静态库

本文链接:https://www.haomeiwen.com/subject/defllttx.html