私有库二进制化

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

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

一、手动实现

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


红色即是新建的静态库工程,其他文件为私有库工程

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


存放静态库的路径并非固定,只要和podspec描述对应即可

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

核心代码就两行:

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

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

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

Done!

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


左侧即是二进制化后的私有库

二、自动实现

工具:cocoapods-packager

安装:sudo gem install cocoapods-packager

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



最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容