iOS 静态库 :闭源库
不公开源代码,只公开调用的接口,看不到具体的实现,是一个编译后的二进制文件。这种常见于一些公司的SDK包,比如高德地图SDK、环信即时通讯SDK等等。而闭源库又分为两类:静态库和动态库。本篇重点要讲的便是其中的静态库。
静态库 和 动态库的存在形式的区别
静态库 :.a 文件以及.framework 在使用过程中 如果多个文件引用 会被创建多份在内存中。
动态库:.dylib文件以及.framework 在使用过程中动态使用,内存中只存在一份,可被多次引用。
打包静态库:.a 文件静态打包
创建一个demo ,随意创建一个方法 进行测试 打包
在创建静态库的过程中我们可以创建在模拟机上运行的静态库,也可以创建在真机上运行的静态库 。
生成方法分别选中模拟机 以及真机进行项目编译(command+b),编译之前下图中的.a文件是红色的,编译生成之后会变成黑色,此时就证明我们的静态库生成成功。可以show in finder 进行查看
当然,创建的静态库文件是给别人拿来用的 ,然而此时外部人员是不知道我们的入口在哪,那么 我们需要下图操作,将我们的. h文件 放开。
到此我们的静态库生成完毕。
在使用过程中 可能会遇到 如下错误 ,此错误表明 我们的静态库是不支持某些架构的 (模拟机以及真机等的架构 此处不再赘述)
进行如下图操作,可以解决上述问题 进行完此操作之后 我们再次运行项目 。
注:静态库 因为真机和模拟机 以及debug 和release 等模式可以分为不用的 静态库 ,我们可以执行终端命令 进行合并(此处解决静态库在真机和模拟机分别 的静态库的不匹配),但是此操作会增大文件,在上线的时候还是选择相应的 静态库
时间仓促,写的比较潦草 后期再进行内容填充。