如何安全地在〜/ Library / Developer / Xcode / DerivedData目录中删除?


90

我想删除旧的(可替换的?)数据,并且DerivedData内容似乎是一个候选对象。因为它的名称为DerivedData,所以我假设它的信息是:如果丢失,将在构建阶段生成,如果存在,则在同一阶段使用。这样看来,我可以删除任何旧项目数据而不必担心,如果我应该构建该旧项目,那么第一次通过它会花费比正常正弦更长的时间来重新创建所有这些派生数据。

我在这里弄错了吗?


8
就像Joshua所解释的那样,请非常警惕
Fattie

也许除了强调之外,我还应该使用所有SO标记技巧,在我的答案中指出这一点。:-D块援引星级斜线注释掉的代码粗体斜体,项目符号列表,等等
约书亚Nozzi

17
实际上,正如Joshua解释的那样,@ JoeBlow是Archives目录,其中包含“ dSYM数据以供以后调试”。该档案目录是同级中的DerivedData目录,这意味着它在同一水平,下面~/Library/Developer/Xcode,作为DerivedData,所以“那个该死的文件夹”(DerivedData)不包含的dSYM数据,它的内容可以被安全地删除。
mluisbrown 2013年

4
每当发布新版本时,我都会将.xcarchive从Xcode复制到我的git仓库中,并保持在版本控制下-这是始终能够获取旧.dSYM的好方法,而无需依赖特定计算机的Xcode目录。
比尔

Answers:


123

派生数据”文件夹包含所有中间构建信息,调试和发布构建的目标以及项目的索引。这是有帮助的,当你有奇数的索引问题(代码完成工作不正常,不断重新索引,甚至只是一个缓慢的项目)删除导出的数据。删除整个文件夹会破坏Xcode 4知道的所有项目的信息。

存档”文件夹(“派生数据”的同级文件)包含目标的存档形式。即,发布版本以及dSYM数据供以后调试。如果您希望能够调试应用程序的已部署版本,则不应删除此选项。

您可以通过打开管理器窗口并选择“项目”选项卡来核对给定项目的派生数据。选择所需的项目,然后单击“派生数据”路径旁边的“删除”按钮。这更多是问题项目的“手术罢工”。


1
当然。转到命令行并输入“ man rm”-疯了。:-)
约书亚·诺齐

9
叹。我知道rm。我想找到一种方法来解决与项目连接的文件夹,例如~/Library/Developer/Xcode/DerivedData/MyProject-hghjhjhkjh/。我找到的最简单的方法是通过XCode首选项设置相对于项目文件夹的DerivedData文件夹。
2013年

4
简要说明一下:在XCode 6.x中projects位于各自的窗口中(而不是管理器)。
Olie 2015年

1
我喜欢您的军事术语XD
乔什(Josh)

1
FWIW有许多新的分发工具(AppCenter,HockeyApp,Crashlytics等)要求您交出dSYM文件,因此您不必自己存储它们。
亲爱的

38

“派生数据”的内容在构建期间生成。您可以安全地删除它。请按照以下步骤删除“派生数据”:

  1. 选择Xcode->首选项。

第1步

  1. 这将打开弹出窗口。选择“ 位置 ”标签。在位置子标签中,您可以看到“ 衍生数据 ”。单击路径旁边的箭头图标。

第2步

  1. 这将打开包含“派生数据”的文件夹,右键单击并删除文件夹。

第三步


因此,当我的应用程序处于模拟器中而不是从代码运行时,如果我删除然后从代码中再次运行,那么会引起任何问题吗?
曼森

@Manthan:不,不会造成任何问题。
Jayprakash Dubey

30

是的,这些数据是在构建期间生成的,您可以根据需要删除它们,这不是问题。

再次构建时将重新创建。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.