准备知识:
1.什么是库?
库是程序代码的集合,是共享程序代码的一种方式
2.根据源代码的公开情况,库可以分为2种类型
a.开源库
公开源代码,能看到具体实现 ,比如SDWebImage、AFNetworking
b.闭源库
不公开源代码,是经过编译后的二进制文件,看不到具体实现。主要分为:静态库、动态库
3.静态库和动态库的存在形式
静态库:.a 和 .framework
动态库:.dylib 和 .framework
4.静态库和动态库在使用上的区别
静态库:链接时,静态库会被完整地复制到可执行文件中,被多次使用就有多份冗余拷贝。
动态库:链接时不复制,程序运行时由系统动态加载到内存,供程序调用,系统只加载一次,多个程序共用,节省内存。
5.创建静态库可能出于以下几个理由:
1.你想将工具类代码或者第三方插件快捷的分享给其他人而无需拷贝大量文件。
2.你想让一些通用代码处于自己的掌控之下,以便于修复和升级。
3.你想将库共享给其他人,但不想让他们看到你的源代码。
4.比如很老的框架使用的是MRC环境下面的框架,那么我们只需要将其打包成静态库就可以了,这样就不用担心是不是ARC环境了。
Xcode创建静态库详解(Cocoa Touch Static Library)(本人使用的是Version 6.3)
一、创建静态库文件(.a 文件)
打开Xcode, 选择File ----> New ---> Project。
选择iOS ----> Framework & Library ---> Cocoa Touch Static Library。
点击Next。按照流程一步一步的创建工程。
注静态库文件的版本(4种)
1.真机-D2.真机-Release版本
3.模拟器-Debug版本
4.模拟器-Release版本
调试版本(Debug版本) VS 发布版本(Release版本)
--------------------------------------------------------------------------------
- 调试版本会包含完整的符号信息,以方便调试
- 调试版本不会对代码进行优化
- 发布版本不会包含完整的符号信息
- 发布版本的执行代码是进行过优化的
- 发布版本的大小会比调试版本的略小
- 在执行速度方面,调试版本会更快些,但不意味着会有显著的提升