ios – 在Xcode中使用Swift的编译时间非常长

前端之家收集整理的这篇文章主要介绍了ios – 在Xcode中使用Swift的编译时间非常长前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有三个iOS项目:

>第一个 – 使用Xcode 7.2.3编译的35k Swift LOC,Swift 2.1(或2.0?)
>第二个 – 使用Xcode 8.2.1编译的15k Swift LOC,Swift 2.3
>第三个 – 使用Xcode 8.2.1编译的15k Swift LOC,Swift 3.0

所有这些的编译时间都非常糟糕(干净构建需要10分钟),而且每个版本的开发都在慢慢爬行.

我已经尝试过了:

>使用整个模块优化
>将C语言更改为编译器默认值
>分析项目的构建时间并优化瓶颈(一些方法需要6-10秒才能使用数组连接进行编译,nil合并运算符等),这些方法削弱了15秒 – 完全不明显的区别
> HEADERMAP_USES_VFS =是
>其他一些我现在不记得了

我正在使用一台固态硬盘,8GB RAM& amp; 2.6ghz i5,如果重要的话.

任何人都知道可能导致这种情况的原因,现在该怎么处理甚至是任何解决方法?从我在SO和其他地方读到的内容来看,它似乎是一个未解决的编译器问题.

编辑:是的,我正在使用Cocoapods作为依赖项.我会尝试搬到迦太基看看会发生什么.

解决方法

尝试在Build Settings中设置以下内容作为变通方法.我假设你只有一个目标.

>仅将Build Active Architecture设置为Yes.
>将优化级别设置为无[-Onone]
>添加名为“SWIFT_WHOLE_MODULE_OPTIMIZATION”的用户定义设置,值为“YES”
>清空派生数据并构建.

然后,您还可以使用此工具分析任何缓慢编译的Swift文件https://github.com/RobertGummesson/BuildTimeAnalyzer-for-Xcode

我正在经历需要6-7分钟的构建时间.我离开Cocoapods并开始使用Carthage,这有助于清洁构建.即使这样,构建仍然需要3分钟.最大的改进来自我上面提到的步骤.

更新

在Debug版本中,不是添加用户定义的设置,而是将优化级别设置为“快速,整个模块优化”.然后在其他Swift Flags中为您的调试版本添加’-Onone’.

原文链接:https://www.f2er.com/iOS/331390.html

猜你在找的iOS相关文章