清除和删除DerivedData文件夹之间的区别

时间:2013-02-02 13:15:36

标签: ios xcode xcode4.5

这两项行动之间的实际差异是什么?

我问,因为我发现清洁(Cmd-Shift-K)是一个缓慢的时间进程,并且更快地删除整个DerivedData文件夹。

更多信息

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

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

2 个答案:

答案 0 :(得分:6)

用户面包的文章Xcode 4 DerivedData and Cleaning the Build Directory中解释了这一点。

  

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

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

  

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

因此,如果您想要真正清理所有内容,那么通过选择产品菜单同时按住 Clean Build Folder 操作>选项键。这也将删除DerivedData内容:

enter image description here

答案 1 :(得分:1)

  1. 清理速度较慢,因为它会逐个文件删除文件,而不是整个文件夹
  2. 删除DerivedData文件夹后,您会遇到一些减速,因为XCode必须为您的源重新创建索引。
  3. 有“Clean Build Folder ...”命令(Option-Cmd-Shift-K,或选择“产品”菜单并按“选项”按钮)。它会删除文件夹而不是文件,因此它可以更快。