这篇文章是记录一下我打包静态库的过程,工程基于Xcode8,新手,见谅
首先说一下.a后缀的静态库,分为三种:模拟器使用的,真机使用的,模拟器和真机都能使用的。所以,我们首先需要生成两个.a文件,分别是模拟器使用的和真机使用的,最后,将两个静态库合并生成新的静态库,这个模拟器和真机就都可以使用了。
-
1、创建一个静态库工程工程,起一个名字,最后合并静态库时名字是可以修改的
创建静态库工程.png
屏幕快照 2016-11-23 下午6.06.53.png -
2、创建工程之后,会自带一个与工程同名的类。工程创建了,然后就可以写实现的方法了,记得要把方法名暴露出来,不暴漏出来方法别人无法调用。
我只是实现一个最简单的打包流程,.m文件实现此方法,计算参数a和参数b的和
简单介绍一下这张图,选择模拟器,点击打包按钮(或者shift+command+B),会生成libALibraryTest.a文件,"Show in Finder",找到它单独保存一下,最后合并的时候会用到
打包模拟器文件.png -
3、选择此状态,打包,会生成真机上可以运行的静态库
打包真机文件.png - 4、接下来,取出两个静态库文件,合并成模拟器和真机状态下都可以编译的静态库。打开终端,输入下面一行命令,路径自行替换
lipo -create 随便一个静态库路径 另外一个静态库的路径 -output 最终合并之后生成的静态库的路径(可以自己定义名字,后缀一定a)
最简单的静态库就打包出来了,看一下我们的成果
将合并静态库以及.h文件导入我们的项目当中,调用此方法,打印一下,验证通过,我实现的方法没有错误。
注:假如你的这个静态库文件是对别的静态库进行封装,那么你就会用到我的这个注意事项:
第一个框:如果多个类,可以将.h文件添加到这,生成静态库时会将这里面的文件拷贝一份到静态库同级的文件夹里面,如:
.h文件.png
第二个框:如果你封装你的静态库时会用到别人的静态库,那么请将第二个框里面的静态库删掉(点击"-",不要把工程里面的库删了),那么只要用到你的静态库时,就需要添加两个,甚至多个库文件,这样也会减少很多不必要的麻烦
注意事项.png
谢谢,我的流程走通了,写这篇文章也是借鉴了各位大神的文章,如下,谢谢
iOS开发拓展篇—静态库
iOS库 .a与.framework区别
iOS中静态库.a、资源库.bundle、.framework的区别
关于打包制作属于自己的framework
iOS生成静态库方法-iOS集成静态库-iOS合并静态库
iOS将多个第三方sdk打包成静态库
iOS开发——创建你自己的Framework
iOS 封装SDK
网友评论