我的磁盘空间不足,通过第三方实用工具检查~/Library/Developer/Xcode/DerivedData目录占用了大约22GB的磁盘空间。

我搜索了stackoverflow,找到了这个帖子

我如何安全地删除我的~/Library/Developer/Xcode/DerivedData目录?

对这个问题的公认答案是,我不应该从这个目录中接触/删除文件夹。所以我所做的就是

发现一个现有的应用程序的构建项目文件夹,我有在Appstore上可用 从派生目录中删除文件夹 推出XCode 5 打开那个项目 清洁的构建 在模拟器上测试和编译它 重新归档 一切工作。什么都没有坏。

除非我在那篇文章中错过了一些东西,我想通过询问有经验的开发人员来确保,如果我从DerivedData删除所有文件夹,它不会伤害我在构建、测试和编译这些项目时。


是的,您可以直接删除派生数据子文件夹(非派生数据文件夹)中的所有文件。

这不会影响你的项目工作。DerivedData文件夹的内容是在构建期间生成的,如果需要,可以删除它们。这不是问题。

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

Xcode8 +更新

从Xcode8删除项目选项从窗口选项卡,所以你仍然可以使用第一种方式:

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

Xcode7.3更新 为了删除特定项目的DeriveData,你只需要遵循以下步骤:

进入窗口->项目:

你可以找到项目的列表,你可以去DerivedData文件夹,或者你可以直接删除单个项目的DerivedData


我不是在Xcode5上工作,但在4.6.3中,你可以在下图中找到DerivedData文件夹:

点击Preferences..

你会看到这个窗口

我经常清除derivedData,所以我为它提供了一个别名。它可以修复构建问题。我有以下在/Users/Myusername/.bash_profile

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

然后在终端中,我输入purgeallbuilds, DerivedData的所有子文件夹都被删除。

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

它加快了编译速度,也消除了这个问题

xc-launch回购

最好使用DTerm发布

我会说这是安全的——我经常用这种方法删除许多iOS项目的文件夹内容。而且,我没有遇到任何构建或提交到App Store的问题。对于Xcode 5和Xcode 6,该过程删除派生数据并清理项目的缓存资产。

有时,简单地在Derived Data目录上调用rm -rf会留下一两个文件,但是我的脚本会循环直到删除所有文件。

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

选择Xcode -> Preferences..

这将打开一个弹出窗口。选择“位置”选项卡。 在位置子选项卡中可以看到“衍生数据” 点击路径旁边的箭头图标。

这将打开包含" Derived Data "的文件夹 右键单击并删除文件夹。

 $ 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/

Xcode 7.2更新

(也适用于7.1.1)

单击“窗口”,然后单击“项目”,然后删除“派生数据”。

是这样的:

然后在这里删除:


希望有帮助!

~ /图书馆/开发/ Xcode / DerivedData

Xcode 12更新

在标签上:

单击Xcode 首选项 位置->派生数据

您可以访问所有派生数据,并通过删除它们进行清除。

是的,可以安全删除,我的脚本搜索并销毁它找到的每个实例,很容易修改到本地目录

#!/usr/bin/env bash
set -o errexit
set -o nounset
set -o pipefail
IFS=$'\n\t'

for drive in Swap Media OSX_10.11.6/$HOME
do
   pushd /Volumes/${drive}  &> /dev/null
   gfind . -depth -name 'DerivedData'|xargs -I '{}' /bin/rm -fR '{}'
   popd &> /dev/null
done

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

点击产品菜单

按住Option键

单击“清理生成文件夹”

Xcode 10更新

点击状态栏的Xcode 然后选择首选项

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

您可以通过右小图标到达派生数据文件夹