IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> 提高iOS编译速度的Cocoapods插件ppbuild -> 正文阅读

[开发工具]提高iOS编译速度的Cocoapods插件ppbuild

背景:

随着项目的不断迭代,项目代码及依赖三方库和内部库越来越多,导致项目编译时间越来越长,浪费大量开发时间。
cocoapods-ppbuild插件将三方库打包为静态库,从而提高项目编译时间

使用:

1. 安装插件,运行命令:

gem install cocoapods-ppbuild

2. 修改 podfile 文件,加入以下代码

plugin 'cocoapods-ppbuild'

使用静态库编译:?

use_frameworks! :linkage => :static
use_static_binary!

使用动态库编译(动态库会拖累app使用时间,推荐使用静态库):

use_frameworks!
use_dynamic_binary!

如果某个库不想使用预编译加参数 :ppbuild => false

pod 'AFNetworking', :ppbuild => false

注意:
如果对某个库使用 `:ppbuild => false` 则它的依赖库也不会预编译。
如果只想让当前库不参加预编译,依赖库参加预编译,可以将依赖库写在Podfile文件中
举个🌰:

YTKNetwork、AFNetworking 都不参加预编译:

pod 'YTKNetwork', :ppbuild => false 

YTKNetwork不参加预编译,AFNetworking参与预编译:

pod 'YTKNetwork', :ppbuild => false 
pod 'AFNetworking'

可以设置编译参数,默认不设置 例如:

set_custom_xcodebuild_options_for_prebuilt_frameworks :simulator => "ARCHS=$(ARCHS_STANDARD)"

设置编译完成后移除源码,默认保存

remove_source_code_for_prebuilt_frameworks!

缺点:

1. 目前是直接将静态库引入至Pods中,导致项目会将二进制文件提交到工程git仓库中。

解决方案:
?? ?将 Pods 文件夹添加至gitignore中,忽略Pods中所有文件
?? ?pod文件项目成员可以单独编译,或者共享一份单独存放二进制的git库,使用脚本编译上传

2. 如果使用单独git仓库存放二进制文件,调试时没有索引源码文件,定位不到源码

解决方案:参考美团zsource插件

参考:

GitHub - leavez/cocoapods-binary: integrate pods in form of prebuilt frameworks conveniently, reducing compile time

Github:

https://github.com/pdcodeunder/cocoapods-ppbuild
如果喜欢,给个 星星?? 鼓励一下

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-10-01 17:06:00  更:2021-10-01 17:08:24 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 1:30:23-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码