跳到主要内容
Mole
概览 功能 口碑 定价 常见问题 博客
EnglishEN 简体中文中 繁體中文繁 日本語日 한국어한 FrançaisFR DeutschDE ItalianoIT EspañolES
立即购买 下载
首页/博客

如何清理 Xcode,又不误删发布归档

开发者清理发布于 2026年7月30日约 3 分钟

Xcode 会把存储分散在构建输出、索引、归档、设备支持、模拟器设备和可下载平台运行时中。有些内容可以重新生成,有些却可能是已发布版本归档和 dSYM 的唯一副本。

安全做法是分别测量每一类,能通过 Xcode 移除时就使用 Xcode,并保留与已发布构建相关的产物。

Xcode 的几十 GB 都去了哪里

先查看两个主要用户级目录:

du -sh ~/Library/Developer/Xcode/* ~/Library/Developer/CoreSimulator 2>/dev/null | sort -h

最常见的大项目包括:

  • DerivedData: 构建产物、索引和模块缓存,通常每个项目有一个目录。它可以重建,但全部清空会让之后的索引和构建成本很高。先处理已经不用的项目。
  • DeviceSupport: 从物理设备与特定系统构建收集的符号和支持数据。旧项目仍可能用于崩溃符号化。
  • Archives: 每次导出或发布应用时保存的构建。Apple 建议保留每个已分发构建的归档,因为其二进制文件和匹配 dSYM 可能用于分析之后收到的崩溃报告。只存在于本机、从未分发的构建,更适合清理。
  • 模拟器设备与平台运行时: 设备位于 CoreSimulator 中,可下载运行时由 Xcode 组件管理。两者不是同一种缓存。

怎样分别安全清理

DerivedData 最适合按项目处理。退出 Xcode,通过「Xcode > 设置 > 位置」显示 Derived Data,找出已经不用的项目目录,再把该目录移到废纸篓。只有全局索引或构建问题确实需要付出重建成本时,才全部清空。

不可用模拟器设备有专门命令:

xcrun simctl delete unavailable

它会删除对应运行时已经不可用的设备记录,不会卸载运行时镜像本身。通过「Xcode > 设置 > 组件」查看已安装平台和模拟器运行时,以及可以回收的大小,再移除能够重新下载的运行时。Apple 的 Xcode 组件说明介绍了同一条受管理的移除路径。设备记录则在「窗口 > 设备与模拟器」中管理。

归档应在「窗口 > Organizer」中检查。每个已经分发的构建,包括仍有用户使用的旧生产版本,都应保留归档和 dSYM。Apple 的调试信息说明指出,二进制文件与 dSYM 只有在构建 UUID 匹配时才能一起工作。DeviceSupport 同样适合选择性检查,不适合整体清空。

移动 DerivedData 前退出 Xcode,避免索引和构建数据库正处于写入状态。下一次打开和构建时,Xcode 会重新索引、解析依赖并生成输出,所需时间取决于项目以及仍然可用的本地内容。

为什么 DerivedData 可以重建,DeviceSupport 却不同

DerivedData 是可重现的构建和索引输出。Xcode 会为每个项目创建一个以项目路径哈希命名的目录,再写入根据源代码、设置、工具链和依赖生成的目标文件、模块缓存、索引与构建产物。删除后,只要输入仍然存在,Xcode 就能重建,代价是时间和可能的网络访问。

DeviceSupport 在性质上不同。调试物理设备时,Xcode 会保存该系统构建的支持和符号数据。模拟器设备与运行时镜像也是彼此独立的受管理对象,不是普通缓存目录。

归档最值得选择性保留,因为其中包含符号化 App Store 构建崩溃报告所需的 dSYM。能区分可重建缓存与捕获产物,就是安全清理和应该保留之间的全部边界。

Xcode 开发者目录分为可重建缓存,包括 DerivedData 和模块缓存,以及捕获产物,包括 DeviceSupport、Archives 与模拟器。
Xcode 占用分为可重现输出和捕获产物。应用发布很久以后,归档与 dSYM 仍可能具有实际运维价值。

先用磁盘地图找出最大类别

Mole「分析」页这样的磁盘地图,可以显示空间压力主要来自 DerivedData、CoreSimulator 还是 Archives。移除操作仍应交给 Xcode 的「组件」「设备」和 Organizer,因为这些入口理解运行时、设备和发布产物。

清理时按这个顺序

停止正在运行的构建,分别测量 Xcode 与 CoreSimulator。按项目删除过期 DerivedData,删除不可用模拟器设备,再从「组件」卸载不再使用的运行时。删除归档前,把它与已发布版本和符号化需要进行核对。

重新打开一个重要项目并完成一次构建,确认正常后再清空废纸篓。

Mole 把磁盘分析、应用维护和清理前确认放进一个原生 Mac App,系统数据仍交给 macOS 和对应应用处理。

购买 Mole 免费试用

继续阅读

  • 开发者清理如何清理开发工具缓存,又不破坏构建约 3 分钟
  • 开发者清理如何清理 Ollama 和 LM Studio 模型文件约 3 分钟
  • 开发者清理如何清理 Docker for Mac,又不丢数据约 3 分钟

Mole · 鼴

Mac 清理、软件与状态工具。

v1.12.0 (117) · 更新日志

支持

帮助 功能文档 发布记录

法律

服务条款 隐私政策 退款政策

资源

博客 命令行版 CLI 合作推广

联系

Twitter hi@mole.fit

请认准官网 mole.fit · 避免下载到来路不明的版本

命令行版继续免费开源。