OC语言有.h .m 文件组成。静态库可以将 .m文件封装成到个.a文件,第三方应用程序只需要拿到这个.a文件和代码对应的.h文件即可使用静态库中封装的方法。IOS静态库适合去制作第三方提供的SDK。
第一步
1.首先创建一个新的工程,选择Framework
&Libryary,在选择Cocoa Touch Static Library 工程名自己定义
2.接下来你会看到自动生成.h和.m文件 可以在.m文件中写你要的代码
3.我们来创建一个简单的代码
.h文件如下
- (int)addMethod:(int)theFirst :(int)theSecond;
.m文件如下
- (int)addMethod:(int)theFirst :(int)theSecond{
return (theFirst+theSecond);
4.接下来就是编译生成.a文件了
快捷键(command+B)选中真机编译和选中模拟机编译对应生成的连个.a文件一个是真机的一个是模拟机的
这时候去资源库里查找编译生成的.a文件
找到 前往 然后 按着 option 快捷键 你会看到 资源库 点击 如图
资源库/developer/Xcode/DerivedData/GeberateFaile....../Build/Products/Release-iphoneos(其中Release-iphoneos和Release-iphoneosmulator一个是模拟器的一个是真机的.a文件)
4.接下来就是将你生成的.a文件引入到你想加入的工程中
引入方法:直接将上图你所看到的include文件夹中所有的.h文件(即include里面全部.h文件)和下边对应的.a文件直接拖到你的工程中 千万注意(copy items if needed)
5.添加成功后就可以直接使用了 但是需要注意的是 如果你是选择模拟器编译生成的.a文件那么在真机运行的时候是会报错的 所以为了可以使用真机和模拟器都可以使用.a文件可以合并成为一个.a文件 使用终端合成具体方法如下:
ZXYdeMacBook-Pro:~zxy$ lipo -create /所在路径/Release-iphoneos/libGenerateFaile.a /所在路径/Release-iphonesimulator/libGenerateFaile.a -output /Users/zxy/Desktop/libUniversal.a
这样,就可以合并成一个通用的静态库,唯一的缺点是体积要大一点相对于真机和模拟器两个的总大小 之后将这个静态库拖到工程中即可