iOS静态库.a文件的创建与使用(看了不会怪我)(一)

干了这么长时间很少贡献东西今天贡献一篇文章,今天写一章关于静态库.a文件的创建.

好了废话不多说,静态库和动态库的区别自己查,我只负责说一下如何创建一个静态库

1、创建一个新的Xcode工程StaticProject


2.在里面创建一个类用于测试使用

3.添加公开的头文件,即你想让别人看到的头文件 你都需要在copyfile中添加.h




这个之后可以看到有两个.h文件


4、修改配置

我们需要把Build Active Architecture Only修改为NO,否则生成的静态库就只支持当前选择设备的架构。

5、然后编译

我们分别选择Generic iOS Device和任意一个模拟器各编译(command+b)一次,编译完后,我们会看到工程中Products文件夹下的libTest.a由红色变成了黑色,然后show in finder,看看生成的文件:

我们可以看到以下两个文件一个是刚才跑模拟器的一个刚才跑Generic iOS Device的


接下来看一下静态库支持的框架

(1)打开终端切换到当前的目录(cd 后面直接将文件拖进来就可以了然后回车)

然后输入:lipo -info+静态库名称

我们看到,Debug-iphoneos里面的静态库支持的架构有armv7和arm64所以它只能用于真机,在模拟器上会报错。Debug-iphonesimulator里面的静态库支持的架构有i386和x86_64,所以它只能用于模拟器,在真机上会报错。

如果想要让模拟器和真机通用一个静态库,我们可以使用终端命令来实现。命令格式:lipo -create 第一个.a文件的绝对路径 第二个.a文件的绝对路径 -output 最终的.a文件路径:

于是就出来了一个myLib 这个myLib是真机模拟器通用的



接下来创建一个文件夹将最终生成的.a文件和.h文件放到一起我以后我们就可以使用了这里面的.h是从上面Debug-iphoneos文件夹下考出来的别不知道从哪来的好了这就可以了你已经创建了一个.a的静态库

6.接下来就是使用了

使用就比较简单了创建一个新的工程将MyLib导入工程导入头文件就可以使用了


好了完美运行,下次再写就写静态库.frameWork的创建以及多工程联编这个架构模式欢迎收藏点赞.

感谢乐视老大哥皓哥

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,002评论 25 709
  • 静态库与动态库的区别 首先来看什么是库,库(Library)说白了就是一段编译好的二进制代码,加上头文件就可以供别...
    吃瓜群众呀阅读 12,138评论 3 42
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,107评论 19 139
  • 很有意义的一天,记录一下,希望自己在接下来的2017年,订的八个计划 英语:喜马拉雅英语,每天一课,熟读背诵(重复...
    HongDaTou洪大头阅读 228评论 0 0
  • 2017年2月19日 星期天 片名:布达佩斯之恋(1999) 导演:诺夫·舒贝尔 九江,家中 很多年以后,年迈的德...
    海盗船长Zvv阅读 1,319评论 0 2