Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Xcode 8每次重新编译完整的代码_Ios_Xcode - Fatal编程技术网

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

Ios Xcode 8每次重新编译完整的代码,ios,xcode,Ios,Xcode,随着代码的任何更改(尽管文件不在.pch中),每次都会重新编译完整的项目。转到产品->方案->编辑方案。 选择Build in left side column并取消选中“查找隐式依赖项” 但是当您第一次构建项目时,此标志应保持选中状态。如果您对Swift文件进行了更改,请开始构建应用程序,转到最后一个选项卡并单击构建日志,在“检查依赖项”阶段停止构建并再次运行。在第二次运行时,它应该只生成您修改的文件。如果做得正确,我发现它每次都有效。无需对项目设置进行任何更改 这似乎是Xcode中的一个bu

随着代码的任何更改(尽管文件不在.pch中),每次都会重新编译完整的项目。

转到产品->方案->编辑方案。 选择Build in left side column并取消选中“查找隐式依赖项”


但是当您第一次构建项目时,此标志应保持选中状态。

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

这似乎是Xcode中的一个bug

如果您看到应用程序正在进行完整构建,请停止构建并重试此技巧


如果您未对代码进行任何更改,请使用CMD+CTRL+R运行,而无需构建附加调试器的应用程序。不会生成应用程序,但可以帮助节省不必要的时间。

Madhuri Mane对此完全正确。为了更加清晰,需要注意以下几点:

这仅适用于对目标依赖的库/框架具有隐式依赖性的情况

如果禁用了“查找隐式依赖项”:

结果:在生成库之前不会生成库 应用程序目标。应用程序目标无法生成

修正:为了确保第二种情况不会发生,您必须添加 将必要的目标输入目标列表并正确排序

关于该主题的来源和进一步阅读:


现在,如果您的整个项目都位于一个目标中,并且需要4分钟来编译,那么除了将其分解为多个框架以利用上述优势或找出编译滞后的地方之外,您对此无能为力。如果您使用的是PaintCode之类的东西,或者swift中有大量UIKit代码,请将其更改为Objective-c,它的编译速度要快得多

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

我现在选择Atom来编写代码,选择命令行来构建和调试。 希望苹果能尽快修复这个合法的错误

更新2016/12/04

这个问题似乎很重要

但对我来说,这并没有得到解决,我甚至在使用Xcode 8.2时也面临着这个问题。 您可以尝试一下(下载Xcode8.2 beta2)

构建系统•Xcode仅在较小时不会重建整个目标 发生了变化。(28892475)


旧答案: 这是一个解决方案:

“构建设置”选项卡->C语言方言->将其更改为“编译器默认值”

:

“C语言方言”被设置为“GNU99”,而不是“编译器” 违约”。以前的标准是GNU99,但现在不是。有时 point Xcode未正确迁移库项目设置,并且 所以它被设置为GNU99。一旦我把它改成GNU99,它就停止了 每次重新编译我所有的代码


关于前缀头,我对代码做了一些修改,似乎解决了这个问题。我不知道到底是哪一个做了这个把戏,但我将分享它们,希望它能帮助其他人。如果您没有设置前缀头,那么我想这不是问题所在(或者问题是多方面的)

  • 从前缀头中删除所有导入,这些导入是来自生成产品目录的文件,因此您可以将此的生成设置(“预编译头使用生成目录中的文件”)更改为“否”。确保它不是通过其他进口间接进口的
  • 从使用Clang模块的前缀头中删除任何导入(库或框架的头目录中有module.modulemap文件,因此您可以编写类似于
    @import MyModule
    )的代码)。(对我来说,这和第一步是一样的。)
  • 将前缀头共享的生成设置设置为“是”。(我不认为这是必要的,也不应该对我自己的项目产生任何影响。我之所以这样说,是因为我改变了它,因为我愿意尝试任何东西。:)
  • 退出Xcode并删除您的DerivedData/ModuleCache目录(如果我没记错的话,配置为~/Library/Developer)

  • 如果仍然不起作用,您可以尝试从前缀头中删除更多导入。可能有什么东西绊倒了它…

    转到目标的构建设置,并将
    定义模块设置为


    为我工作了几个版本,现在说这是一个确定的解决方案还为时过早,但至少我们正在尝试。

    看起来他们正在根据进行积极的工作,但需要添加一个解决方案

    HEADERMAP\u使用\u VFS=YES

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

    在过去一个月没有其他解决方案一直有效之后,今天这个解决方案每次对我都有效


    编辑:有时仍然会重新编译所有内容,尽管在定义了此设置后,重新编译的频率似乎要低得多。

    为了确定xcode的编译时间,可以使用IRAMDISK(虚拟内存磁盘)。减少编译时间的非常有用和有效的方法

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

    请参阅以下链接以下载和使用:
    苹果昨天(11月14日)发布了新的Xcode测试版

    Xcode 8.2 beta 2

    此问题已在发行说明中标记为已解决

    构建系统

    •Xcode仅在较小时不会重建整个目标 发生了变化。(28892475)

    它对我有用。建造速度恢复正常。 每个面对t的人