Xcode 8每次重新编译完整的代码

随着代码的任何改变(尽pipe文件不在.pch中),每次完成项目重新编译。

更新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

primefaces代码和命令行构build和debugging是我现在的select。 希望苹果公司很快就能修复这个合法的bug

更新2016/12/04

Xcode 8.2(testing版2)似乎解决了这个问题。

但对我来说,它不能解决,即使我使用Xcode 8.2,我也面临这个问题。 你可以试试看( 在这里下载Xcode8.2 beta2)

构build系统•只发生很小的变化时,Xcode不会重build整个目标。 (28892475)


老答案:这是一个工作:

在这里输入图像说明 “生成设置”选项卡 – >“C语言方言” – >将其更改为“编译器默认值”。

供参考 :

“C语言方言”被设置为“GNU99”而不是“编译器默认”。 以前的标准是GNU99,但现在不是。 在某些时候,Xcode没有正确地迁移库项目设置,所以它被设置为GNU99。 一旦我将其改为GNU99,它就停止每次重新编译我的所有代码!

转至产品 – >计划 – >编辑计划。 selectBuild in left side column并取消选中“Find implicit dependencies”

但是这个标志在你第一次build立这个项目时应该保持检查。

我改变了一些与我的代码有关的前缀头,似乎已经解决了这个问题。 我不知道哪一个实际上做了这个伎俩,但我会分享他们,希望它能帮助别人。 如果你没有设置前缀头,那么我想这不是问题(或者问题是多方面的)。

  1. 从前缀头文件中删除任何来自构build产品目录的文件的导入,以便可以将此构build设置(“预编译头文件从构build目录使用文件”)更改为“否”。 确保它不是通过其他import间接import的。
  2. 删除使用Clang模块的前缀头文件(在Headers目录中有一个module.modulemap文件的库或框架,所以你可以编写像@import MyModule这样的代码)。 (对我来说,这和第一步是一回事。)
  3. 将前缀头共享的构build设置设置为“是”。 (我不认为这是必要的,在我自己的项目中不应该有任何效果,我只是说这是因为我改变了它,因为我愿意尝试任何东西:))
  4. 退出Xcode并删除你的DerivedData / ModuleCache目录(如果我没有记错的话,configuration在〜/ Library / Developer中)。

如果仍然不起作用,您可以尝试从您的前缀标题中删除一些更多的导入。 可能会有东西绊倒…

看起来他们正在积极的工作,根据https://forums.developer.apple.com/thread/62737但解决方法是添加;

HEADERMAP_USES_VFS = YES

在您的目标的生成设置下(项目 – >目标 – >生成设置 – >用户定义)。

这个解决scheme每天都在为我工作,在过去一个月里没有其他的解决scheme一直工作。

编辑:仍然有时重新编译一切,虽然它似乎做这个定义这个设置less得多。

苹果昨天(11月14日)发布了Xcode的新testing版,

Xcode 8.2 beta 2

这个问题已经在发行说明中标记为已解决。

build立系统

•只有less量更改发生时,Xcode不会重build整个目标。 (28892475)

它正在为我工​​作。 build造速度照常回来。 每个面临这个问题的人都应该试一试!

https://developer.apple.com/download/

查看@IBDesignable指令中的所有代码,在我的特定情况下Xcode构build项目,因为我的故事板上有一些包含此@IBDesignable属性的视图。 第二件事情是,我也有我的故事板在单独的窗口(而不是选项卡)打开,这是推动我的Xcode使所有的模拟器永远构build。

转到目标的构build设置,并将“ Defines Module Yes设置为“ Yes

为我工作的一对夫妇build立,太快声称这是一个权威的解决方法,但至less我们正在尝试。

修复我只是closures故事板,我的辅助编辑器打开的源文件和故事板文件也打开(closures故事板—因为我没有做任何改变)删除了所有不必要的编译

Madhuri Mane对此是完全正确的。 为了增加一点清晰度,需要注意一些重要的事项:

这只适用于你的目标所依赖的库/框架的隐式依赖关系。

如果“Find Implicit Dependencies”被禁用:

结果:在构build应用程序目标之前,库不会构build。 应用程序目标无法构build。

修复:为确保第二种情况不会发生,您必须将必要的目标添加到目标列表中并正确sorting。

来源和进一步阅读的主题: https : //pewpewthespells.com/blog/managing_xcode.html#scheme-action

现在,如果你的整个项目被安置在一个目标中,需要4分钟的时间来编译,那么除了把它分解成框架来利用上面的内容,或者找出编译滞后的地方,你可以做的不多。 如果你正在使用类似PaintCode的东西,或者在swift中有大量的UIKit代码,将它改为Objective-c,编译速度会快得多

如果你已经对Swift文件进行了修改,开始构build应用程序,在“检查依赖”阶段,转到最后一个选项卡并单击构build日志,停止构build并再次运行。 在第二次运行它应该只build立你修改的文件。 如果做得对,我发现它每次都有效。 无需进行任何项目设置更改。

这似乎是Xcode中的一个错误。

在这里输入图像说明

如果你看到应用程序正在进行完整的构build,那么停止构build并再次尝试这个技巧。

如果您没有对代码进行任何更改,请使用CMD + CTRL + R运行而不构build附加debugging器的应用程序。 不会构build应用程序,但可以节省不必要的时间。

通过应用取消选中“Find Implicit Dependencies”解决scheme修复了我的问题。

但是请记住,如果您使用的是cocoapods,也可以将其设置应用于您的pod项目

Product – > Scheme – > Pods-“yourProjectName”

也适用于:

Product – > Scheme – >“yourProjectName”

它帮助我,所以我希望这个提示可以帮助别人。

谢谢

请转到项目的构build设置并更改“C语言方言”。

更新xcode版本时,“C语言方言”设置为“GNU99”而不是“编译器默认值”。 在某些时候,Xcode没有正确地迁移库项目设置,所以它被设置为GNU99。 这将解决问题

尝试:1.导航到项目2.单击生成设置3.检查OptimizationLevel设置为无debugging。 4.单击添加用户定义的设置5.将SWIFT_WHOLE_MODULE_OPTIMIZATION设置为YES。

在这里输入图像说明

为了延长xcode的编译时间,可以使用IRAMDISK(虚拟内存盘)。 非常有用和有效的方法来缩短编译时间。

也可以用来加速常用的应用程序。

请参阅以下链接下载并使用: http : //iramdisk.findmysoft.com/mac/