为什么清除派生数据会清除Xcode中的各种错误?

时间:2016-12-16 20:15:01

标签: ios objective-c xcode cocoa

很多时候,人们会遇到各种问题或在xcode中构建错误,并被告知要清除派生数据以解决他们的特定问题。什么是衍生数据,删除它清除了各种问题?派生数据中包含的内容是什么?

1 个答案:

答案 0 :(得分:3)

Xcode在该文件夹中缓存了大量数据,包括应用程序的资产,(图像,音频),编译的代码/库等。

Xcode这样做是为了加快构建/运行/调试周期,如果必须每次都重建每一件事,你可以在几秒钟内进行小的更改和重建/测试。

但是,在某些情况下,Xcode不会检测到您所做的更改,因此不会将其合并到您的下一个构建/运行中。这是当您遇到奇怪的问题时,有些是显而易见的,例如更改的图像未被合并,您将在构建中看到旧图像。如果错过的更改是代码中没有合并的逻辑,那么这个问题就不会那么明显,并且可能会显示为不正确的结果甚至是崩溃。

清除Derived Data文件夹(理想情况下Xcode已关闭),下次强制完整构建,但需要额外的时间。当然,与尝试调试和发现可能实际不存在的问题的时间相比,花费额外的编译时间并不算什么。