Omuuz

Xcode DerivedData 为什么增长,以及安全复核包含什么

复核已知生成数据位置,同时不把规则扩大到源代码、项目或无关开发者文件。

直接回答

DerivedData 包含 Xcode 可以重新生成的构建产物、索引和中间文件。安全规则应匹配精确生成数据边界、说明重新生成成本,并在移入废纸篓前立即重新核验路径。

适用场景

  • Xcode 在反复构建、索引、预览或生成文档后占用空间增长。
  • 你需要区分生成的构建数据、源代码仓库与永久归档。
  • 你希望在移动生成数据前了解下一次构建成本,并使用可恢复的复核流程。

分步骤复核

  1. 停止正在进行的构建工作

    复核 DerivedData 目录前,完成或取消构建、测试、预览和文档生成。

  2. 确认精确边界

    匹配已配置 Derived Data 位置下的项目专属目录,不能把选择扩大到整个 Developer 文件夹。

  3. 检查身份与时间

    复核路径、实际分配大小、修改时间、项目关联,以及 Xcode 是否仍在使用该目录。

  4. 考虑重新生成成本

    下一次构建、索引、预览或文档构建可能更慢,因为 Xcode 需要重新创建必要输出。

  5. 有意识地移动、验证与恢复

    对于受支持规则,只把精确目录移入废纸篓,重新扫描原范围,并保留恢复位置直到确认不再需要。

相关技术原理

保持边界精确

规则必须匹配已知 DerivedData 位置,不能扩大到整个 Developer 目录,更不能覆盖源代码树。

显示重新生成成本

移除生成数据可能让下一次构建或索引变慢,这项后果应与预期空间影响放在一起。

诚实验证结果

移入废纸篓不会立即释放磁盘空间。DiskStory 会重新扫描原范围并记录废纸篓恢复位置,但不会声称废纸篓已清空。

风险与不应执行的操作

Developer 目录不是整体可删除项

其中还可能包含设备支持、模拟器、归档、文档和其他恢复特性不同的数据。

源代码树不属于该规则

名称相似的项目文件夹、代码检出、包缓存或自定义构建位置不能被推断为 DerivedData。

活动任务会重新创建或修改文件

在 Xcode 或构建工具使用目录时移动生成数据,可能产生混乱结果或立即重新生成。

Omuuz 产品能做什么、不能做什么

能够做到

DiskStory 可以识别受支持的精确 DerivedData 边界,显示实际分配大小与时间,说明重新生成成本,并在可恢复地移入废纸篓前重新核验。

不能做到

DiskStory 不会把整个 Developer 目录视为生成数据,不会选择源代码、清空废纸篓,也不会保证移除 DerivedData 能修复构建问题。

产品证据

英文版 DiskStory 界面:显示受支持可恢复操作的审阅与确认流程。
真实产品界面在受支持项目移入废纸篓前显示路径、证据与重新核验;截图使用示例数据。

第一方资料

相关指南

如何在不读取内容的情况下查找 Mac 大文件如何比较 Mac 磁盘占用快照?我的 Mac 空间被什么占用了?
查看详情 — DiskStory