私有库二进制化

私有库二进制化_第1张图片

所谓的二进制化,其好处是可以将将代码转化为framework或.a文件,增快项目编译速度,同时可以隐藏核心代码实现。

二进制化的具体实施方案有如下两种:

一、手动实现

1、首先在私有库中建立一个静态库工程;同时新建products文件夹用来存放framework文件。具体结构如图所示:


私有库二进制化_第2张图片
红色即是新建的静态库工程,其他文件为私有库工程

同时在静态库工程中引用(引用,而不是拷贝,方便以后修改代码)私有库代码,然后编译(编译前注意修改architecture only、mach-o type、release环境、暴露.h等)即可得到framework 文件。然后在私有库目录中添加products文件存放framework 文件。


私有库二进制化_第3张图片
存放静态库的路径并非固定,只要和podspec描述对应即可

2、修改podspec文件,和上述路径对应即可

核心代码就两行:

s.source_files = 'AutomaticTestLib/Classes/**/*.h'

s.vendored_frameworks = 'AutomaticTestLib/Products/**/*.framework'

修改完之后,将私有库添加至私有spec。

Done!

然后在宿主工程中调用即可,最终调用效果如下:


私有库二进制化_第4张图片
左侧即是二进制化后的私有库

二、自动实现

工具:cocoapods-packager

安装:sudo gem install cocoapods-packager

命令:pod package spec文件名称 --library --exclude-deps --spec-sources=spec文件私有索引库路径,https://github.com/CocoaPods/Specs.git



你可能感兴趣的:(私有库二进制化)