前面的22-25主要讲了:二进制化,为什么要二进制,打包静态库。
XMGDownLoad 是 源码
XMGDownLoadLib 是 二进制的
1、拖代码到新建的空壳静态库工程中,把源码打包成静态库
2、静态库工程的配置:Build Active Architecure Only ——> NO(不止编译活跃构架)
3、如果是.a的静态库工程,这步可以不用;如果是.framework,还要在targets>bulid settings>mach-O Type>static library
3、开启release模式
4、暴露头文件:有这么多文件,如果都暴露,太麻烦了;所以可以在主头文件中导入下。
5、编译打包
6、用个podspec来描述打包好的组件。
外部:复制个podspec过来,修改podspec文件名和库名相同;文件内部:各个字段的修改,描述的、远程的、本地的。。。。
7、修改podspec,这里重点描述的是products和Headers文件,其他的不用管:关于宿主工程要方便用到.framework时候,.framework工程中还要做的一些事情(关于头文件和podspec怎么描述.framework)。
- 库工程根目录下,新建Headers,把products里面的.h头文件都复制到Headers中去(这样避免导入头文件时候不方便,如# import <framework/framework.h>)
-
podspec的描述
8、git提交库文件到远程
9、宿主使用
修改Podfile,pod 'XMGDownLoadLib',pod install。
10、这样的弊端,要维护XMGDownLoad和XMGDownLoadLib两个工程,宿主工程还要修改Podfile来切换源码和库形式。如果库很多,工作量就大了。
静态库打包路径小技巧
小技巧,每次打包好,想找到product里面的包,都要show In finder,才能找到;可以通过设置,把包放在工程下面,这样源码和包都在工程文件夹下。
file>projective setting>advancert>custerm>修改