iOS 如何生成 .a 文件(静态库), 以及使用静态库时遇到问题,解决方法

首先来谈谈为什么要使用静态库(.a 文件),使用静态库(.a 文件)有什么好处?

为什么使用静态库(.a)文件

总所周知, Objective-c语言有.h .m 文件组成, 静态库可以将.m 文件封装成一个.a 文件, 第三方应用程序只需要拿到这个.a 文件和对应的.h 文件即可使用静态库中封装的方法.

使用静态库(.a文件)的好处

在我看来, 静态库只提供第三方应用程序 .h文件 和 .a文件, 没有自己封装的方法具体实现文件(.m文件)暴露出来, 防止用户自己修改 或者是 恶意攻击. iOS静态库适合去制作第三方提供的SDK.

具体实现步骤

第一步: 创建一个新的工程, 选择 iOS -> Framework & Library 里面的 Cocoa Touch Static Library, 然后点击Next

如何所示:

iOS 如何生成 .a 文件(静态库), 以及使用静态库时遇到问题,解决方法_第1张图片
第一步 创建工程.png

第二步: 点击Next 后, 为你的静态库去一个名字(自己定义, 但要做到见名知义)
例:我取的静态库名字是 TestDotADemo, 然后点击Next, 选择存放的地址.

如图所示:

iOS 如何生成 .a 文件(静态库), 以及使用静态库时遇到问题,解决方法_第2张图片
第二步 取工程名.png

第三步: 选择完,存放的地址后, 系统会自动生成.h 文件 和 .m文件.
如图所示:


iOS 如何生成 .a 文件(静态库), 以及使用静态库时遇到问题,解决方法_第3张图片
第三步 系统自动生成.h 文件 和 .m 文件.png

第四步: 接下来就是在.h文件声明方法(实例方法 / 类方法 都可以), 这里以类方法为例.

如图所示:

iOS 如何生成 .a 文件(静态库), 以及使用静态库时遇到问题,解决方法_第4张图片
第四步 声明方法.png

第五步: 在.m文件实现在.h文件声明的方法.
如图所示:


iOS 如何生成 .a 文件(静态库), 以及使用静态库时遇到问题,解决方法_第5张图片
第五步 方法的具体实现.png

第六步: 接下来就是最重要的生成 .a文件

使用快捷键( common + b)
选择真机生成只能在真机运行的.a 文件
选择模拟器生成只能在模拟器运行的.a 文件

为了解决 真机 和模拟器都能运行的.a 文件(但是这里会有个坑, 下面会提及到), 看下面有详细的介绍.

先 生成一个真机.a 文件, 如图所示:

iOS 如何生成 .a 文件(静态库), 以及使用静态库时遇到问题,解决方法_第6张图片
第六步 生成只能真机运行的.a文件.png

生成 模拟器.a文件方法与生成真机.a 文件 一样.

第七步: 到了这里静态库就已经生成好了, 但是你会有疑问, 生成的.a 文件怎么查看呢.
如图所有:

iOS 如何生成 .a 文件(静态库), 以及使用静态库时遇到问题,解决方法_第7张图片
第七步 如何查看.a文件.png

查看的结果, 如图所示:

iOS 如何生成 .a 文件(静态库), 以及使用静态库时遇到问题,解决方法_第8张图片
查看生成.a 文件的结果.png

第八步: 如何使用 生成的静态库, 在自己的应用程序了,拷贝 上图中 include 文件夹 和生成的.a 文件 到自己的工程中.

引入工程的时候一定要注意下面的点, 如图所示:

iOS 如何生成 .a 文件(静态库), 以及使用静态库时遇到问题,解决方法_第9张图片
引入工程需要注意.png

查看是否添加进工程, 如图所示:

iOS 如何生成 .a 文件(静态库), 以及使用静态库时遇到问题,解决方法_第10张图片
查看引入结果.png
教你如何使用

第一步: 引入头文件
第二步: 调用类方法

如图所示:

iOS 如何生成 .a 文件(静态库), 以及使用静态库时遇到问题,解决方法_第11张图片
教你如何使用.png
使用静态库时遇到的问题, 我从百度搜索找到了一篇博客, 总结的相当不错.

http://blog.csdn.net/wangjia55/article/details/50728029

你可能感兴趣的:(iOS 如何生成 .a 文件(静态库), 以及使用静态库时遇到问题,解决方法)