Des*_*ume 5 xcode compilation build ios swift
我在一个iOS项目团队中工作,该项目在Swift代码方面已经发展到巨大的规模。
从干净状态构建项目大约需要10分钟,而仔细检查后,更改代码中的任何内容后,要花费30秒才能构建并运行项目,即使该代码与Swift文件符号中私有方法中的一行相关从那里没有其他地方使用。
我们已经尝试了很多方法来缩短构建时间,包括来自这个不错的资源的技术https://github.com/fastred/Optimizing-Swift-Build-Times 没有任何帮助,您仍然需要等待30秒才能整整一次在应用程序中看到它的小事。
我们使用Xcode 10,即“ New build system”,其编译模式设置为Incremental。如果我通过Perform Action> Build with Timing Summary来构建项目,则最长的阶段是“快速代码编译”,这并不是什么新鲜事。我们怀疑Xcode会尝试遵循保守的编译决策并重建每个可能与修改后的Swift代码有任何联系的Swift文件。而且似乎Xcode在大多数情况下是错误的,并且会做多余的工作。
我有点想念Objective-C的日子,那时编译器将查看所有import / include语句,并且仅重建显式声明的依赖项,这意味着需要花费大量的构建时间。
所以我现在认为也许我们可以将项目分解为模块,然后import在Swift中广泛使用,以告诉编译器哪些Swift文件取决于其他Swift文件。
是否有一种很好的,也许是自动化的方法将大型项目模块化为许多小组件,从而加快了常规的“试一试”方法的构建速度?
小智 1
| 归档时间: |
|
| 查看次数: |
572 次 |
| 最近记录: |