多年来我只是盲目地排除了偶尔我需要删除Derived Data
文件夹。
互联网 - 主要是想办法删除它: - )
有人可以解释为什么我们需要衍生数据,而不仅仅是相对于每个都有输出 Xcode中的项目 - 我确信它是聪明的东西,但是什么?
注意:
因此,如果要加速构建,必须有一种方法来引用项目中的其他Derived Data
框架吗?
由于
答案 0 :(得分:1)
Swift构建和链接的基于模块的特性需要在模块缓存中创建许多辅助文件( apinotesc 和 pcm 文件)。为所有项目创建这些一次更便宜且(随后)更快。因此默认情况下,一个模块缓存有一个位置。
另一个优点是,在清理派生数据文件(占用大量空间)时 - 正如您自己承认需要不时做的那样 - 如果它们位于一个位置,则更容易找到它们一起。想象一下,如果它们分布在每个单独的项目文件夹中!
答案 1 :(得分:1)
有人可以解释为什么我们需要派生数据,而不仅仅是相对于Xcode中的每个项目都有输出 - 我相信它是聪明的东西,但是什么?
派生数据文件夹中的文件是中间文件。让它们绕过让Xcode避免做以前已经完成的工作,从而加快构建速度。如果删除这些文件,则不会造成长期伤害 - Xcode必须再次创建它们。这需要时间,所以你的构建需要更长时间,但否则你会得到相同的结果。
不将它们放在项目文件夹中的原因是它们不是项目的真正参与者。如果您使用版本控制(您这样做,对吗?),您不希望必须将软件配置为忽略项目的某些部分,并且您也不希望提交任何这些派生数据文件。同样,删除派生数据文件根本不会改变项目;它只会改变Xcode对项目从一个构建到下一个构建的记忆。