组件26-二进制:二进制化-初级实践方案-如何把源码手动打包成静态库并提交到远程

前面的22-25主要讲了:二进制化,为什么要二进制,打包静态库。

XMGDownLoad 是 源码
XMGDownLoadLib 是 二进制的

1、拖代码到新建的空壳静态库工程中,把源码打包成静态库


组件26-二进制:二进制化-初级实践方案-如何把源码手动打包成静态库并提交到远程_第1张图片
源码XMGDownLoad打包成二进制静态库

2、静态库工程的配置:Build Active Architecure Only ——> NO(不止编译活跃构架)

3、如果是.a的静态库工程,这步可以不用;如果是.framework,还要在targets>bulid settings>mach-O Type>static library

3、开启release模式

4、暴露头文件:有这么多文件,如果都暴露,太麻烦了;所以可以在主头文件中导入下。


组件26-二进制:二进制化-初级实践方案-如何把源码手动打包成静态库并提交到远程_第2张图片
Snip20170714_45.png

5、编译打包

6、用个podspec来描述打包好的组件。

外部:复制个podspec过来,修改podspec文件名和库名相同;文件内部:各个字段的修改,描述的、远程的、本地的。。。。

7、修改podspec,这里重点描述的是products和Headers文件,其他的不用管:关于宿主工程要方便用到.framework时候,.framework工程中还要做的一些事情(关于头文件和podspec怎么描述.framework)。

  1. 库工程根目录下,新建Headers,把products里面的.h头文件都复制到Headers中去(这样避免导入头文件时候不方便,如# import
  1. podspec的描述


    组件26-二进制:二进制化-初级实践方案-如何把源码手动打包成静态库并提交到远程_第3张图片
    podspec的描述库的使用.png

8、git提交库文件到远程

9、宿主使用
修改Podfile,pod 'XMGDownLoadLib',pod install。

10、这样的弊端,要维护XMGDownLoad和XMGDownLoadLib两个工程,宿主工程还要修改Podfile来切换源码和库形式。如果库很多,工作量就大了。

静态库打包路径小技巧

小技巧,每次打包好,想找到product里面的包,都要show In finder,才能找到;可以通过设置,把包放在工程下面,这样源码和包都在工程文件夹下。

file>projective setting>advancert>custerm>修改

组件26-二进制:二进制化-初级实践方案-如何把源码手动打包成静态库并提交到远程_第4张图片
1.png
组件26-二进制:二进制化-初级实践方案-如何把源码手动打包成静态库并提交到远程_第5张图片
2.png
组件26-二进制:二进制化-初级实践方案-如何把源码手动打包成静态库并提交到远程_第6张图片
3.有Product存放路径
组件26-二进制:二进制化-初级实践方案-如何把源码手动打包成静态库并提交到远程_第7张图片
4.修改路径
组件26-二进制:二进制化-初级实践方案-如何把源码手动打包成静态库并提交到远程_第8张图片
5.products和build转移到了工程目录下

你可能感兴趣的:(组件26-二进制:二进制化-初级实践方案-如何把源码手动打包成静态库并提交到远程)