为什么在使用 CocoaPods 处理大型项目时,我们需要进行一些优化?
-
对 Pods targets 进行缓慢且不必要的索引,我们很少尝试编辑这些 targets 的实现;
-
多余的重新构建时间,可能是与 CocoaPods 或 Xcode 相关的问题导致的;
-
在项目中导航或编辑时 UI 冻结;
-
代码自动补全功能损坏或极慢;
-
笔记本电脑风扇噪音大,铝制外壳发热,以及无限旋转的彩色风车。
更多信息请参阅 📖 foundation 和 remastering 故事。
🏈 Rugby
是一个 CLI 工具,旨在解决上述问题
+
缓存所有 pod 依赖项,并从 Pods 项目中移除它们的 targets;
+
仅重新构建更改的 pod 甚至直接下载它们;
+
从项目中删除任何不需要的带有源代码的 targets,并减小其大小。
🕊 不是项目依赖项,只是一个可选步骤;
🌱 不会更改 Podfile 和 Podfile.lock;
🕹️ 单命令用法;
🐳 准备好用于 远程缓存;
🧣 舒适的日志输出;
🚀 使用 Swift 编写,并使用原生 Xcode 构建系统。
Ruby 替代方案: PodBuilder | CocoaPods Binary Cache | CocoaPods Binary
首先,如果您有第一个版本 Rugby 1.x
,您需要删除它。
然后调用 where rugby
命令,并确保没有 rugby 的任何路径。
curl -Ls https://swiftyfinch.github.io/rugby/install.sh | bash
如果您已经安装了 Rugby,并且版本至少为 2.0.0b2
,则可以使用以下命令。
> rugby update
阅读指南 如何安装 它。
如果您正在寻找旧版本 Rugby 1.x
,请访问 此页面。
@import Something
代替 #import "Something.h"
。SwiftGen
,请在调用 Rugby 之前运行它。rugby build pre
预构建您的项目并最终确定源代码;rugby -e BadPod
。然后在每次 pod install
之后,在您的项目目录中运行此命令。
默认情况下,它将构建所有 targets
> rugby
使用 rollback 命令将其取消集成
> rugby rollback
此外,您可以编写自定义的 plan(命令序列)。
使用 🏈 RugbyPlanner 可视化项目中发生的更改,而无需应用它们。
有关高级用法,请阅读下面的文档。
欢迎 打开 pull request 或 发起讨论。
已知问题 🐞 |
---|
#394:无法通过 Xcode 运行测试(通过 make test 运行完美) |
#270:缺少 public OutputType |
如果您想支持这个项目,您可以做以下几件事
1)
点击 ⭐️。这是一个很好的标记,表示 Rugby 很有用;
2)
分享 这个项目 🌍 给其他人;
3)
在讨论 💬 区 留下反馈。
让我们开始吧 🏈