进行任何代码更改(尽管文件不在.pch中),每次都会重新编译完整的项目。
进行任何代码更改(尽管文件不在.pch中),每次都会重新编译完整的项目。
Answers:
更新2017/1/2
Xcode 8.2.1尚未解决此问题(对于我的项目)
如何生存?
Code IDE: Xcode/Atom
Build: xcrun
Debug: Xcode (Control + Command + R)
更新2016/12/17
Xcode 8.2尚未解决此问题。
更新2016/12/12
我现在选择原子代码和命令行来构建和调试。希望苹果公司能尽快修复此合法错误。
更新2016/12/04
Xcode 8.2(beta 2)似乎解决了此问题。
但是对我来说,它还没有解决,即使使用Xcode 8.2,我也要面对这个问题。您可以尝试一下(在此处下载Xcode8.2 beta2 )
构建系统•仅发生很小的更改时,Xcode不会重建整个目标。(28892475)
旧答案: 这是一种解决方法:
“构建设置”选项卡->“ C语言方言”->将其更改为“编译器默认值”。
供参考:
将“ C语言方言”设置为“ GNU99”,而不是“编译器默认值”。以前的标准是GNU99,但现在不是。在某些时候,Xcode无法正确迁移库项目设置,因此将其设置为GNU99。一旦将其更改为GNU99,它每次都会停止重新编译我的所有代码!
转到产品->方案->编辑方案。选择“在左侧列中构建”,然后取消选中“ 查找隐式依赖项 ”
但是,当您第一次构建项目时,应保持选中此标志。
更新
我能做的最大的改进就是模块化了我的项目。专门模块化了几乎在所有其他类中使用的ORM层。通过将代码移到项目中的单独目标中并将其作为模块导入,我可以大大缩短编译时间。当我进行构建时,Xcode不再决定重新编译不需要的文件。
现在,我使用“ 单个文件”编译方法进行快速增量调试。
此链接中还有一些其他好的建议,包括代码重构, https://medium.com/rocket-fuel/optimizing-build-times-in-swift-4-dc493b1cc5f5
旧
对于Xcode 9来说,对于我来说仍然是一个长期存在的问题。像你们中的许多人一样,我正在开发一个大型的Swift 4 / cocoapods项目,其中包含许多源文件,并且每次令人不快地重新编译每个文件。
到目前为止,使用以下设置可获得最佳效果。我建议您尝试一下,看看它如何为您工作。
添加了自定义的用户定义的构建设置,
注意:我没有用于整个模块优化的自定义用户定义设置。
我更改了有关前缀标头的代码,似乎已解决了该问题。我不知道哪个人真正成功了,但我将与大家分享,希望它可以帮助其他人。如果您没有设置前缀标头,那么我想这不是问题(或者问题是多方面的)。
@import MyModule
)。(对我来说,这和步骤1是相同的。)如果仍然无法解决问题,您可以尝试从前缀标头中删除更多导入。可能有东西绊倒了...
看起来他们正在根据https://forums.developer.apple.com/thread/62737积极从事这项工作,但有一种解决方法是添加
HEADERMAP_USES_VFS = YES
在目标的构建设置下(项目->目标->构建设置->用户定义)。
在过去一个月没有其他解决方案持续工作之后,该解决方案今天对我而言一直有效。
编辑:有时仍会重新编译所有内容,尽管使用此设置定义它似乎不那么频繁。
Madhuri Mane对此完全正确。为了更加清楚起见,需要注意一些要点:
仅当您对目标所依赖的库/框架有隐式依赖时,这才适用。
如果“查找隐式依赖项”被禁用:
结果:在构建应用程序目标之前,不会构建该库。应用程序目标无法构建。
修复:为了确保第二种情况不会发生,您必须将必要的目标添加到目标列表中并正确排序。
来源和对该主题的进一步阅读:https : //pewpewthespells.com/blog/managing_xcode.html#scheme-action
现在,如果您的整个项目都位于一个目标中,并且需要4分钟的时间进行编译,则除了将其分解为框架以利用上述优势或找出编译滞后的地方外,您无能为力。如果您使用的是PaintCode之类的内容,或者迅速将大量的UIKit代码更改为Objective-c,则编译速度会更快
苹果昨天(11月14日)发布了Xcode的新测试版。
Xcode 8.2 beta 2
并且此问题已在发行说明中标记为已解决。
建立系统
•仅发生很小的更改时,Xcode不会重建整个目标。(28892475)
它为我工作。生成速度照常恢复。面对这个问题的每个人都应该尝试一下!
如果对Swift文件进行了更改,则开始构建应用程序,请转到最后一个选项卡,然后单击构建日志,在“检查依赖项”阶段,停止构建并再次运行。在第二次运行时,它应仅构建您修改的文件。如果正确完成,我发现它每次都可以工作。无需进行任何项目设置更改。
这似乎是Xcode中的错误。
如果您看到该应用正在执行完整构建,请停止构建,然后重试此技巧。
如果您未对代码进行任何更改,请使用CMD + CTRL + R运行,而无需构建附加调试器的应用程序。不会构建应用程序,但可以帮助节省不必要的时间。
尝试执行以下操作:1.导航到Project 2.单击“ Build Settings”。3.检查是否将OptimizationLevel设置为“ None”以进行调试。4.单击添加用户定义的设置。5.将SWIFT_WHOLE_MODULE_OPTIMIZATION设置为YES。
为了增加xcode的编译时间,可以使用IRAMDISK(虚拟内存磁盘)。减少编译时间的非常有用和有效的方法。
也可以用来加速常用的应用程序。
请参阅以下链接下载和使用:http : //iramdisk.findmysoft.com/mac/