安全清理 Xcode DerivedData、缓存和未使用的模拟器
分步开发人员指南,可在不破坏构建环境的情况下清理 Xcode DerivedData、模块缓存和 Mac 上未使用的 iOS 模拟器。

对于iOS、macOS和visionOS开发者来说,Xcode是必不可少的工具。但它也可能成为开发人员 Mac 上的重要存储消耗者。经过数月的构建、测试和调试,Xcode 积累了索引存储、中间构建工件、模块缓存、存档和模拟器运行时。
随着时间的推移,Xcode 构建目录和模拟器可能会消耗大量磁盘空间,具体取决于活动项目、依赖项和模拟器运行时的数量。当存储空间不足时,构建操作会变慢,并且可能会出现索引问题。以下是如何在不破坏项目配置的情况下安全地清理 Xcode DerivedData、构建缓存和未使用的 iOS 模拟器。
什么是 Xcode DerivedData 以及它为何增长?
Xcode 将构建时信息存储在位于 ~/Library/Developer/Xcode/DerivedData 的中央目录中。在此目录中,Xcode 为您打开的每个项目和工作区创建专用子文件夹。
DerivedData 包含: 1. 索引数据:用于代码完成和快速帮助的语法映射、符号图和交叉引用。 2. 构建产品:中间目标文件 (.o)、预编译框架和 dSYM。 3. 模块缓存:预编译的 Swift 和 Clang 模块。由于来自旧版本、重命名的目标或存档分支的工件可能会累积,因此 DerivedData 往往会扩展,直到被清除为止。
删除DerivedData安全吗?
DerivedData 包含 Xcode 通常可以重新创建的生成构建和索引数据。删除它可能会触发完全重建和重新索引,因此请确认您删除的是 DerivedData 而不是项目或存档数据。
当 Xcode 行为不稳定、显示持久构建错误或无法解析 Swift Package Manager 依赖项时,清除 DerivedData 是 Apple 开发者社区中的标准故障排除步骤。请记住,后续构建将花费更长的时间,因为 Xcode 必须重新索引您的代码库并重新编译依赖项。
手动清洁 DerivedData 的方法
您可以使用 Xcode 设置或 Finder 手动清理 DerivedData,或通过终端:
• 通过Xcode 设置和Finder(推荐):打开Xcode → 设置(Command + ,)→ 位置。在“派生数据”下,单击路径旁边的小箭头图标以打开 Finder 中的文件夹。确认您位于 DerivedData 中,退出 Xcode,然后选择项目子文件夹并将其移动到 废纸篓。这允许您检查正在删除的内容,并在需要时从 废纸篓 恢复文件。
• 通过终端(高级):如果您更喜欢命令行工作流程,请先退出 Xcode 并运行: rm -rf ~/Library/Developer/Xcode/DerivedData/* 。请注意,rm -rf 会立即永久删除文件,而不将它们移动到 废纸篓,因此在运行之前请仔细验证路径。
清洁未使用的 iOS、watchOS 和 tvOS 模拟器
通过 Xcode 下载的每个模拟器运行时都会消耗几 GB 的存储空间。随着时间的推移,随着新操作系统更新的安装,旧的模拟器版本仍保留在您的驱动器上。
要检查已安装的模拟器,请在终端中运行 xcrun simctl list。要删除不可用或孤立的模拟器设备并清除其缓存,请运行 xcrun simctl delete unavailable。您还可以导航到 Xcode 设置 → 组件来查看、管理和删除不再测试的已下载平台模拟器运行时。
将 Smart Cleaner AI 与 Xcode 存储维护一起使用
管理开发人员存储时,目视检查有助于识别驱动器容量集中的位置。
Smart Cleaner AI 的磁盘分析器可以帮助您检查系统中扫描仪可见的存储量大的文件夹和文件。 Xcode 特定的清理(例如管理 DerivedData、构建产品和模拟器)仍应使用 Xcode 设置、Finder 和开发人员命令行工具进行审查和执行,以便项目配置保持完整。
分 4 步清理 Xcode DerivedData 和模拟器
- 1
彻底退出Xcode
在执行任何缓存删除之前,请确保 Xcode 和所有活动模拟器实例已关闭。
- 2
在Finder中找到DerivedData
打开 Xcode 设置 → 位置,然后单击 DerivedData 旁边的箭头,或直接导航到 Finder 中的 ~/Library/Developer/Xcode/DerivedData。
- 3
删除 DerivedData 构建子文件夹
选择 DerivedData 中不需要的项目文件夹并将其发送到 Trash。 Xcode 将在重建时重新创建新索引。
- 4
在组件或终端中管理模拟器
在终端中使用 xcrun simctl delete unavailable,或打开 Xcode 设置 → 组件来删除未使用的模拟器运行时。
常见问题
删除 DerivedData 会删除我的源代码或 Git 历史记录吗?▼
不。DerivedData 仅包含临时构建工件和索引。您的项目文件、源代码和 Git 存储库完全保持不变。
为什么删除 DerivedData 后我的第一次构建速度很慢?▼
因为Xcode必须重建其内部符号索引并从头开始重新编译Swift包。随后的增量构建将恢复全速。
Xcode 档案存储在哪里?▼
Xcode 将分发档案存储在 ~/Library/Developer/Xcode/Archives/ 中。您可以通过 Xcode 管理器(窗口 → 管理器)查看和删除旧的开发档案。
我可以将 DerivedData 移动到外部 SSD 吗?▼
是的,在 Xcode 设置 → 位置中,您可以在外部 NVMe 驱动器上设置自定义 DerivedData 路径,尽管内部 Mac SSD 提供更快的构建吞吐量。
开发人员应该多久清理一次 DerivedData?▼
开发人员通常在对索引或编译错误进行故障排除时、在主要 Xcode 更新后或从旧的、不活动的项目中回收存储时清理 DerivedData。
资料来源
Ready when you are
Download Smart Cleaner AI for Mac
Analyze Mac storage, safely clear system data caches, find large files, and remove app leftovers with on-device controls.
By using Smart Cleaner AI, you agree to our Terms of Use and Privacy Policy.