我可以安全地删除Xcode派生数据文件夹的内容吗?
我的磁盘空间不足,通过第三方实用程序进行检查,其中包括〜/ Library / Developer / Xcode / DerivedData目录占用大约22GB的磁盘空间。
我search了stackoverflow,发现这个职位
我怎样才能安全地删除我的〜/ Library / Developer / Xcode / DerivedData目录?
这个问题接受的答案表明,我不应该触摸/从这个目录中删除文件夹。 所以我做的是
- find我在Appstore上可用的应用程序的现有生成项目文件夹
- 从派生目录中删除文件夹
- 推出XCode 5
- 打开该项目
- 清洁生成
- testing并在模拟器上编译
- ReArchived
- 一切正常。 没有什么是坏的。
除非我在那篇文章中遗漏了一些答案,我想确保通过询问有经验的开发人员,如果我从DerivedData中删除所有文件夹,它不会在构build,testing和编译这些项目时伤害到我。
Xcode8 +更新
从Xcode8中删除项目选项从窗口选项卡,所以你仍然可以使用第一种方式:
Xcode -> Preferences -> location -> click on small arrow button as i explain in my first answer.
Xcode7.3更新要删除特定项目的DeriveData,只需按照以下步骤操作:
进入Window -> Project
:
您可以find项目列表,您可以转到DerivedData
文件夹,也可以直接删除单个项目的DerivedData
是的,您可以直接从DerivedData
子文件夹(Not DerivedData Folder)
删除所有文件。
这不会影响你的项目工作。 DerivedData
文件夹的内容是在DerivedData
期间生成的,你可以删除它们。 这不是一个问题。
DerivedData
的内容将在您再次构build项目时重新创build。
我不是在Xcode5上工作,但在4.6.3中,您可以在下面的图像中findDerivedData
文件夹:
点击首选项后
你得到这个窗口
我经常清除derivedData,我有一个别名。 它可以修复构build问题。 我在/Users/Myusername/.bash_profile中有以下内容
alias purgeallbuilds='rm -rf ~/Library/Developer/Xcode/DerivedData/*'
然后在terminal中,我inputpurgeallbuilds,DerivedData的所有子文件夹都被删除。
XCODE 7.2更新
(也适用于7.1.1)
- 点击窗口然后项目 ,然后删除派生数据 。
喜欢这个:
然后在这里删除它:
希望有所帮助!
XCODE 8更新
在标签上:
- 点击Xcode
- 优先
- 位置 – >派生数据
您可以访问所有派生数据,并通过删除来清除它们。
$ du -h -d=1 ~/Library/Developer/Xcode/*
显示至less有两个文件夹是巨大的:
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/
刚刚创build了一个小脚本的github回购,创build一个RAM磁盘。 如果将DerivedData文件夹指向/Volumes/ramdisk
,则在popup磁盘后,所有文件都将消失。
它加快了编译速度,也消除了这个问题
xc-launch回购
最好使用DTerm启动
XCode 8:删除当前项目的派生数据:
点击产品菜单
按住Option键
单击清理生成文件夹
〜/资源库/开发/ Xcode中/ DerivedData
我会说这是安全的 – 我经常以这种方式删除许多types的iOS项目的文件夹的内容。 而且,我还没有任何关于构build或提交到App Store的问题。 该过程删除派生数据并清理Xcode 5和6的项目的caching资产。
有时,只需在Derived Data目录中调用rm -rf就会留下一两个徘徊的文件,但是我的脚本会循环直到删除所有文件。
是的,可以安全地删除,我的脚本search和核查它发现的每个实例,很容易修改到本地目录
#!/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
“派生数据”的内容是在构build时生成的。 您可以安全地删除它。 请按照以下步骤删除“派生数据”:
- selectXcode – >首选项
- 这将打开popup式窗口。 select“ 位置 ”选项卡。 在“位置”子选项卡中,您可以看到“ 派生数据 ”。单击path旁边的箭头图标。
- 这将打开包含“派生数据”的文件夹右键单击和删除文件夹。