首先来谈谈为何要使用.a文件 Objective-c语言有.h .m 文件组成。静态库可以将 .m文件封装成一个.a文件,第三方应用程序只需要拿到这个.a文件和代码对应的.h文件即可使用静态库中封装的方法。IOS静态库适合去制作第三方提供的SD
第一步
1.首先创建一个新的工程,选择Framework
&:,在选择Cocoa Touch Static Library 工程名自己定义
2.接下来你会看到自动生成.h和.m文件 可以在.m文件中写你要的代码
3.我们来创建一个简单的代码
.h文件如下
4.接下来就是编译生成.a文件了
快捷键(command+B)选中真机编译对应生成的.a文件,然后点击show in Finder,然后拷贝出libStaticFramework.a文件,分别放在对应的文件夹里面,真机生成的.a文件放在iphones文件夹中,模拟器生成的.a文件放在Simulator文件夹中,同时再创建一个真机和模拟器生成的包
然后再按照刚才生成真机包libStaticFramework.a包方法,选中模拟器编译对应生成的libStaticFramework.a文件,然后点击show in Finder,然后拷贝出libStaticFramework.a文件到模拟器文件中.
5.添加成功后就可以直接使用了 但是需要注意的是 如果你是选择模拟器编译生成的.a文件那么在真机运行的时候是会报错的 所以为了可以使用真机和模拟器都可以使用.a文件可以合并成为一个.a文件 使用终端合成具体方法如下:
zhengxiaoyandeMacBook-Pro-2:ShangYou4 zhengxiaoyan$lipo -create/所在路径/Release-iphoneos/libGenerateFaile.a /所在路径/Release-iphonesimulator/libGenerateFaile.a-output/Users/zxy/Desktop/libUniversal.a
这样,就可以合并成一个通用的静态库,唯一的缺点是体积要大一点相对于真机和模拟器两个的总大小 之后将这个静态库拖到工程中即可
合并后会生成一个libUniversal.a
6.接下来就是将你合成的的libUniversal.a文件和StaticFramework.h引入到你想加入的工程中以及
下面是合成Demo 静态库的合成Demo