8

这两个动作之间的实际区别是什么?

我问是因为我发现清理 (Cmd-Shift-K) 是一个缓慢且耗时的过程,并且删除整个 DerivedData 文件夹的速度要快得多。

更多信息

1) 我已将我的 DerivedData 文件夹设置在 XCode 首选项中我的项目文件夹的相对文件夹中。

2)我通常处理只有一个目标的项目。我很少需要处理 2 个或更多目标。

4

2 回答 2

8

这在 User Your Loaf 关于Xcode 4 DerivedData 和清理构建目录的文章中进行了解释。

在 Xcode 4 中,Product > Clean 菜单选项通过删除应用程序和 dSYM 文件以及预编译的头文件来清理所有目标的构建目录。

另一方面,DerivedData 包含其他内容:

每个工作区都有一组唯一的符号索引、构建产品、窗口布局等,否则 Xcode 将其称为派生数据。

因此,如果您想真正清理所有内容,答案是使用新的 Xcode 4 Clean Build Folder操作,方法是在按住Option键的同时选择Product菜单。这也将删除 DerivedData 内容:

在此处输入图像描述

于 2013-02-05T11:17:44.637 回答
1
  1. 清理速度较慢,因为它逐个删除文件,而不是整个文件夹
  2. 删除 DerivedData 文件夹后,速度会有所下降,因为 XCode 必须为您的源重新创建索引。
  3. 有“清理构建文件夹...”命令(Option-Cmd-Shift-K,或选择产品菜单并按选项按钮)。它删除文件夹而不是文件,因此对您来说可以更快。
于 2013-02-05T10:49:22.263 回答