静态库
一个静态库是若干个类,函数,定义的包装,你可以将其打包并很容易的在项目之间共享。
程序编译一般需经预处理、编译、汇编和链接几个步骤。对于我们项目中的一些公共代码,如果想要对其进行复用,可以把这些代码编译成一个静态库文件。在链接步骤中,链接器会从库文件中取得对应的代码并生成可执行文件。静态库的执行文件中包含了库中的完整代码,但是多次使用会产生多份冗余拷贝
创建静态库可能出于以下几个理由:
1.你想将一些你和你团队中的同事们经常使用的类打包并轻松的分享给周围其他人。
2.你想让一些通用代码处于自己的掌控之下,以便于修复和升级。
3.你想将库共享给其他人,但不想让他们看到你的源代码。
3、创建静态库
打开Xcode, 选择File ----> New ---> Project。 新建工程。
选择iOS ----> Framework & Library ---> Cocoa Touch Static Library。
点击Next。创建工程。 这里我取名为LibTest
在.h中声明方法
在.m中实现方法
编译:
配置编译选项Edit Scheme
1)iOS Device
2)iOS Simulator
查看静态库:
右键选择libLibTest.a ---> Show In Finder。
生成一份模拟器以及真机的静态库
4、使用静态库
导入相应的静态库和头文件
输出
5、合并静态库
cd 切换当前目录
pwd 显示当前路径
ls 显示当前文件夹中的所有文件或文件夹
lipo -info [文件路径] :显示静态库文件的架构类型(注1)
iphone用lipo合并模拟器库和真机库,发布一个通用的静态库
lipo -create [文件路径1,文件路径2,.......,文件路径n] -output [生成的文件路径]
6、创建bundle 使用bundle
静态库中是不能包含资源文件的!!!(图片,xib,音频等)
这个有点难...
新建文件夹—>命名—>添加后缀.bundle—>确认添加
注1:cpu架构对应硬件设备
armv6:iPhone 2G/3G,iPod 1G/2G iPod Touch Classic Shuffle Nano
armv7:iPhone 3GS/4/4s,iPod 3G/4G,iPad 1G/2G/3G ,iPad Mini 1
armv7s:iPhone5 ,iPhone5C ,iPad4
armv8:iPhone5S ,iPad5(iPad Air), iPad Mini 2(iPad Mini Retina)