cocoapods-xlbuild
利用cocoapods,生成预编译静态库,提高编译速度的插件。支持编译使用静态库提高速度,调试直接使用源码,方便调试
背景
随着项目的不断迭代,项目代码及依赖三方库和内部库越来越多,导致项目编译时间越来越长,浪费大量开发时间。 cocoapods-xlbuild插件将三方库打包为静态库,从而提高项目编译时间
安装插件
$ gem install cocoapods-xlbuild
使用
修改 podfile 文件,加入以下代码
1. 使用静态库编译(推荐):
plugin 'cocoapods-xlbuild'
use_frameworks! :linkage => :static
use_static_binary!
使用动态库编译(动态库会拖累app使用时间,推荐使用静态库):
plugin 'cocoapods-xlbuild'
use_frameworks!
use_dynamic_binary!
2. 如果某个库不想使用预编译加参数 :binary => false
pod 'AFNetworking', :binary => false
注意:
如果对某个库使用 :binary => false
则它的依赖库也不会预编译。
如果只想让当前库不参加预编译,依赖库参加预编译,可以将依赖库写在Podfile文件中
举个🌰:
YTKNetwork、AFNetworking 都不参加预编译
pod 'YTKNetwork', :binary => false
YTKNetwork不参加预编译,AFNetworking参与预编译
pod 'YTKNetwork', :binary => false
pod 'AFNetworking'
3. 可以设置编译参数,默认不设置 例如:
set_custom_xcodebuild_options_for_prebuilt_frameworks :simulator => "ARCHS=$(ARCHS_STANDARD)"
4. 设置编译完成后移除源码,默认保存
remove_source_code_for_prebuilt_frameworks!
5. 设置Frameworks缓存仓库 install加速 例如:
set_local_frameworks_cache_path '/Users/xxx/Desktop/CacheFrameworks'
源码调试
不要设置 remove_source_code_for_prebuilt_frameworks!
选项,保留源码
源码将会放入pod工程 SourceCode
文件夹下,可以直接进行源码调试功能
注意
目前是直接将静态库引入至Pods中,注意将Pods添加到gitignore中,否则将会提交至git仓库中
如果工程里面一开始配置的是打包成动态库,后面再改成静态库需要将Pod目录删掉再重新执行pod install,否则就会导致某个pod版本更新了却未重新构建
参考
https://github.com/leavez/cocoapods-binary
https://github.com/pdcodeunder/cocoapods-ppbuild
License
MIT
如果喜欢,给个 星星⭐️ 鼓励一下