美文网首页
ios-静态库static Library封装过程

ios-静态库static Library封装过程

作者: 简鱼7819 | 来源:发表于2018-05-18 10:30 被阅读198次

    1,static Library(.a)

    静态库是能分享并隐藏实现代码的一种二进制文件,ios苹果是禁止使用动态库的,静态库的一些图片或者xib资源文件需要另外提供(可以打包成bundle)

    2,static Library(.a)文件的生成

    如下图创建Static Library工程,

    创建工程后,根据你创建工程的名字,自动创建一个.h一个.m文件

    libtest.a就是我们需要的静态库文件

    设置:将Build setting里面找到Base SDK 选取 Latest iOS;然后找到Linking other Linker Flags 默认是-Objc的,但是我们在写SDK源码的时候可能不只是-Objc有可能会有分类等等。要修改为-all_load,要是不修改会崩溃的。

    生成方法,根据你想要的静态库支持的指令集,运行相应的模拟器和真机。比如你想要你的静态库支持armv7,i386,x86_64,arm64四种指令集,就可以运行(Xcode9.2)模拟器iPhone5s(i386),iPhone 8p(x86_64),而armv7和arm64需要真机,以及设置Valid Architectures和Architectures 的交集详情可以查看Apple指令集及xcode相关设置

    3,static Library(.a)文件的合并

    用上述方式得到数个.a文件后,合并成一个的支持所有想要指令集的.a

    通过终端合并,lipo -create 静态库路径1 静态库2 -output 静态库路径3 ,合并完的静态库3的大小=静态库1+静态库2


    4,bundle资源文件打包

    bundle也是类似static library一样,创建一个bundle的工程,在macOS中选bundle,

    然后在Build setting里面找到Base SDK 选取 Latest iOS,把你想要配套提供给.a静态库的资源文件导入,运行就可以生成,static library+bundle这样一个完整的sdk就可以做出来。

    记录积累!!!

    相关文章

      网友评论

          本文标题:ios-静态库static Library封装过程

          本文链接:https://www.haomeiwen.com/subject/feiwdftx.html