Xcode派生数据到/ dev / null

时间:2014-10-15 19:32:32

标签: xcode developer-tools

任何与Xcode合作的人都知道它对于构建设置,链接器错误和其他一般化的废话有多挑剔。添加任何依赖管理器,如CocoaPods,并且几乎每次构建时都会删除派生数据。

所以我的问题是双重的:

Derived Data究竟负责什么?

如果我完全放弃使用,重定向到/dev/null会怎样? DerivedDataDevNull

1 个答案:

答案 0 :(得分:3)

DerivedData文件夹包含从Xcode处理派生的所有数据。这包括任何构建工件,例如标头映射,中间构建步骤(.o文件等)和构建产品(编译代码)。它是任何和所有构建日志,运行日志和测试结果的目标。最后,它包含用于代码着色和搜索的任何索引缓存。

基本上,它会打破一切。完全按照你对/dev/null的说法进行构建会导致极大的问题,主要是因为它实际上是在尝试读取和写入文件而不是。

假设,如果它可以在没有DerivedData或任何类似的东西的情况下存在(例如,Xcode过分依赖于Build/文件夹),编译将会非常缓慢且内存耗尽。

Xcode中与DerivedData相关的奇怪行为,以及清除此类问题所解决的问题,主要是因为缓存失效非常困难。喜欢,真的很难。