我的磁盘空间不足,并通过第三方实用程序检查了〜/ Library / Developer / Xcode / DerivedData目录是否占用了大约22GB的磁盘空间。这篇文章

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

对此问题的公认答案表明我不应该触摸/删除此目录中的文件夹。所以我所做的是


为我在Appstore上可用的应用找到了一个现有的构建项目文件夹。
从派生目录中删除了该文件夹。 br />打开该项目
清理生成
在模拟器上测试并编译
重新存档
一切正常。没有任何问题。

除非我没有在帖子中回答任何内容,否则我想通过询问有经验的开发人员来确保,如果我从DerivedData中删除所有文件夹,则不会对构建,测试和编译这些文件夹造成伤害项目。

评论

所引用问题的公认答案是stackoverflow.com/a/7284632/8047,它没有说明不从DerivedData中删除...尽管存档对于以后调试东西很重要,但这是一个不同的目录。

#1 楼

是的,您可以直接从DerivedData子文件夹(Not DerivedData Folder)删除所有文件。

这不会影响您的项目工作。 DerivedData文件夹的内容是在构建期间生成的,您可以根据需要将其删除。没问题。

再次构建项目时,将重新创建DerivedData的内容。

Xcode8 +更新

从Xcode8中删除了窗口选项卡中的项目选项,因此您仍然可以使用第一种方法:

Xcode -> Preferences -> location -> click on small arrow button as i explain in my first answer.


Xcode7.3更新
要删除特定项目的DeriveData,只需执行以下步骤:

转到Window -> Project



您可以找到项目列表,可以转到DerivedData文件夹,也可以直接删除单个项目的DerivedData




我在Xcode5上不起作用,但是在4.6.3中,您可以在下图中找到DerivedData文件夹: br />

您会看到此窗口



评论


非常感谢。 “派生数据”内容是否基本上像Xcode的缓存和不需要的文件一样?因此,为什么可以删除它以清除空间?

– Supertecnoboff
2015年9月17日下午21:17

@gone您在说什么?生成的文件必须放在某个地方。

–滴滴
16年6月16日在7:32

好吧,对于CMake和其他make系统,即使是没有源代码的版本,所生成的文件等仍位于项目路径中,如果我删除文件夹结构或在执行清理操作时进行清理,则会将其删除。由于每周大约要标记100个作业,因此我会记住要手动删除的大量文件,并使用XCode UI分别删除每个项目的数据。因此,尽管我现在已经在.bashrc中实现了William的别名,但我还是保留了之前的评论。

–没了
16年6月19日在9:42

XCode 8再次改变了事情(一直以来都是痛苦的)。现在,我们需要手动转到/ Users / YourUsername / Library / Developer / Xcode / DerivedData文件夹,并将其全部删除。正如您已经为XCode 7编辑过的一样,我认为您可能想再次为XCode 8编辑它。

–sweta.me
17-2-17在13:57



您可以查看我的完整答案,在相同的旧答案中仍然有多个答案仍可以使用,并且可以从位置标签中找到。 :)

– Nitin Gohel
17年2月17日在14:00

#2 楼

我经常清理得很清楚,以至于我没有别名。它可以解决构建问题。我在/Users/Myusername/.bash_profile

alias purgeallbuilds='rm -rf ~/Library/Developer/Xcode/DerivedData/*'


中包含以下内容,然后在终端中,键入purgeallbuilds,并且删除了DerivedData的所有子文件夹。

评论


您可以删除DerivedData文件夹本身。它将被重新创建。

–尼克·伍德(Nick Lockwood)
2013年12月17日下午13:29

当我删除此文件夹时,在Xcode 8中构建立即失败。一旦添加回去,事情又恢复了。

– Tim
16-10-21在3:08

这是非常有用的提示。我通常每半年就会遇到空间不足的情况,很难记住应该清除哪个文件夹。别名绝对方便。

–奥利弗·张(Oliver Zhang)
2月4日,3:03

#3 楼

XCODE 10 UPDATE
在选项卡上:

单击Xco​​de
首选项
位置->派生数据

您可以访问所有派生数据并删除即可清除。

评论


“派生数据”部分仅定义派生数据的路径。我看不到任何地方可以查看和删除它们。为什么不只是通过命令行呢?

– AlxVallejo
17年3月3日在16:05

@AlxVallejo在路径地址的末尾,您将看到一个图标,该图标会将您带到文件夹。点击它并删除该文件夹,它将重新创建。

– Umit Kaya
2017年9月4日在2:53



#4 楼

XCODE 7.2 UPDATE
(也适用于7.1.1)

单击Window然后单击Projects,然后删除派生数据。

像这样:

,然后在此处删除它:


希望有所帮助!

评论


这样一来,您便可以手动将其删除,但其他帖子中使用的方法是一次删除DerivedData文件夹中的内容

– XIII
16-2-5的3:45

#5 楼

 $ du -h -d=1 ~/Library/Developer/Xcode/*


显示至少两个文件夹很大:

 1.5G   /Users/horace/Library/Developer/Xcode/DerivedData
 9.4G   /Users/horace/Library/Developer/Xcode/iOS DeviceSupport


随意删除文件夹中的内容: >
 rm -rf ~/Library/Developer/Xcode/DerivedData/*


以及其中一些:

 open ~/Library/Developer/Xcode/iOS\ DeviceSupport/


评论


糟糕...从设备支持文件夹中的旧版iOS删除文件释放了28GB ...

– kareem
16年5月11日,3:10

#6 楼

刚刚使用一个小脚本创建了一个github存储库,该脚本创建了一个RAM磁盘。如果将DerivedData文件夹指向/Volumes/ramdisk,则弹出磁盘后所有文件都将消失。

它加快了编译速度,也消除了这个问题。
>
最好使用DTerm启动

#7 楼

XCode 8:删除当前项目的派生数据:

单击产品菜单

按住选项键

单击“清理构建文件夹”

评论


当我按住选项键时,“清理构建”选项将变灰。 :/

– AlxVallejo
17年3月3日在16:03

#8 楼

XCODE 10 UPDATE

单击以在状态栏上进行Xcode
,然后选择首选项

在弹出窗口中,选择最后一个分段之前的位置

>您可以使用右小图标访问“派生数据”文件夹



#9 楼

〜/库/开发人员/ Xcode / DerivedData

评论


默认是我使用〜/ tmp / DerivedData,这样我可以更轻松地访问构建的文件/捆绑包。

–滴滴
16年6月16日在7:34

#10 楼

是的,可以安全删除,我的脚本搜索并删除找到的每个实例,可以轻松地将其修改为本地目录


#11 楼

我收到此错误是因为Int在一个文件中是int。太蠢了。

#12 楼

我会说这很安全-我经常以这种方式删除许多iOS项目的文件夹内容。而且,我在构建或提交到App Store方面没有任何问题。该过程会删除Xcode 5和6的派生数据并清除项目的缓存资产。有时,仅在派生数据目录上调用rm -rf会留下一两个文件,但是我的脚本循环了直到所有文件都删除。

评论


啊。错别字。我的意思是“提供”

–clearlight
2015年2月8日在4:44

啊,我链接到了我在回答另一个问题时提供的脚本。这样,如果我想更新脚本,则只需要在一个地方进行编辑。您可以点击链接吗?

– Sheamus
2015年2月8日在22:09



我现在看到了代码。之前没有看到链接(如果有的话),谢谢。

–clearlight
2015年2月8日在22:21

#13 楼

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


选择Xcode->首选项。.





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




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