【发布时间】:2021-10-26 23:37:10
【问题描述】:
所以我有一个包含大量代码的项目,其中一些是托管在 GitHub 上的开源项目的一部分,我正在考虑删除该代码并使用 CocoaPods 为我导入和管理该代码。
我的问题是,这对项目构建时间有帮助吗?每次我构建项目时,Xcode 都会构建完整的工作区吗?
Xcode 具体何时构建 pod?
【问题讨论】:
-
Cocoapods 会生成一个名为
Pods的 Xcode 项目,其中包含与您声明的每个依赖项相对应的各种目标。然后它会生成一个工作区,其中包含Pods项目以及您的应用程序项目。您的项目将有效地构建Pods中的一些目标。文物像往常一样被缓存。第二次和第三次重新构建项目只会编译更改的代码。 -
这并不完全正确。安装 pod 时,cocoapods 添加构建阶段,通过运行
"${SRCROOT}/Pods/Target Support Files/Pods-ProjectName/Pods-ProjectName-frameworks.sh"和"${SRCROOT}/Pods/Target Support Files/Pods-ProjectName/Pods-ProjectName-resources.sh"复制 pod 资源,每次都需要几秒钟。因此,即使它可能不会重新编译某些代码,它也会将时间花在未修改的项目上 -
@Guig 是的 cocoapods 会影响建造时间,由于这些原因,我们很快就会搬到迦太基
-
Carthage 更快,但不支持所有框架。我很想转换为 carthage,但有些框架还没有准备好
-
@Mr.Me 我正在使用 Cocoapods 和 use_frameworks!编译时间让我发疯(我得到了 7-10 分钟,现在有了迦太基,我得到了几秒钟)。我目前只留下了 3 个不支持 Carthage 的框架,编译时间不到 20 秒。
标签: xcode cocoapods dependency-management