我可以安全地删除Xcode Derived数据文件夹的内容吗?

时间:2013-09-21 13:46:21

标签: ios xcode

我的磁盘空间不足,并检查了第三方实用程序,其中〜/ Library / Developer / Xcode / DerivedData目录占用了大约22GB的磁盘空间。

我搜索了stackoverflow并找到了这篇文章

How can I safely delete in my ~/Library/Developer/Xcode/DerivedData directory?

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

  • 找到我在Appstore上可用的应用程序的现有构建项目文件夹
  • 从派生目录中删除了文件夹
  • 推出了XCode 5
  • 打开该项目
  • 清洁构建
  • 在模拟器上测试并编译它
  • ReArchived
  • 一切正常。什么都没有打破。

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

13 个答案:

答案 0 :(得分:348)

是的,您可以直接从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

enter image description here

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

enter image description here


我不是在使用Xcode5,但在4.6.3中你可以找到DerivedData文件夹,如下图所示:

enter image description here

点击偏好设置..

enter image description here

你得到这个窗口

enter image description here

答案 1 :(得分:110)

我经常清除derivedData,因为我有一个别名。它可以解决构建问题。我在/Users/Myusername/.bash_profile

中有以下内容
alias purgeallbuilds='rm -rf ~/Library/Developer/Xcode/DerivedData/*'

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

答案 2 :(得分:34)

XCODE 7.2 UPDATE

(也适用于7.1.1)

  1. 点击窗口,然后点击项目,然后删除派生数据
  2. 像这样:

    enter image description here

    然后在此删除它:

    enter image description here

    希望有所帮助!

答案 3 :(得分:33)

XCODE 10 UPDATE

在标签上:

  1. 点击Xcode
  2. 选择
  3. 地点 - >派生数据
  4. 您可以访问所有派生数据并通过删除来清除。

答案 4 :(得分:23)

    result = null;
    return true;

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

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

答案 5 :(得分:17)

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

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

xc-launch repo

最佳使用DTerm

启动

答案 6 :(得分:11)

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

单击“产品菜单”

按住Option键

单击“清理构建文件夹”

答案 7 :(得分:3)

XCODE 10更新

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

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

您可以使用小右侧图标访问 Derived Data 文件夹

enter image description here

答案 8 :(得分:2)

〜/库/开发商/ Xcode中/ DerivedData

答案 9 :(得分:1)

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

#!/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

答案 10 :(得分:0)

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

答案 11 :(得分:-1)

我认为这是安全的 - 我经常删除许多iOS项目的文件夹内容this way。而且,我对构建或提交到App Store没有任何问题。对于Xcode 5和6,该过程将删除派生数据并清除项目的缓存资产。

有时,只需在派生数据目录上调用rm -rf会留下一两个延迟文件,但我的脚本会循环,直到所有文件都被删除。

答案 12 :(得分:-2)

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

  1. 选择 Xcode - >偏好..
  2. Step 1

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

      1. 这将打开包含'派生数据' 右键单击并删除文件夹。
      2. Step 3