跳到主要内容
dijitalworlds
, 首页
Smart Cleaner AI - Disk Clean作者:DijitalWorlds Editorial Team技术审核:Cemal H.· 阅读约9分钟

安全清理 Xcode DerivedData、缓存和未使用的模拟器

分步清理 Mac 上的 Xcode DerivedData、模块缓存和未使用的 iOS 模拟器,同时保持构建环境完好。本文介绍 DerivedData 的用途与增长原因、删除是否安全、手动清理方法和模拟器管理。

Mac 开发人员环境显示 Xcode DerivedData、缓存占用和模拟器清理选项

对于iOS、macOS和visionOS开发者来说,Xcode是必不可少的工具。但它也可能成为开发人员 Mac 上的重要存储消耗者。经过数月的构建、测试和调试,Xcode 积累了索引存储、中间构建产物、模块缓存、存档和模拟器运行时。

随着时间的推移,Xcode 构建目录和模拟器可能会消耗大量磁盘空间,具体取决于活动项目、依赖项和模拟器运行时的数量。当存储空间不足时,构建操作会变慢,并且可能会出现索引问题。以下是如何在不破坏项目配置的情况下安全地清理 Xcode DerivedData、构建缓存和未使用的 iOS 模拟器。

DerivedData到底是什么可以按需重新生成的中间构建产物、模块缓存和索引存储。
安全模拟器管理使用 Xcode > 设置 > 组件删除未使用的运行时,同时保持活动 SDK 完好无损。
解决索引错误刷新损坏的 DerivedData 可解决常见的 Xcode 自动完成和构建失败问题。

什么是 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. 1

    彻底退出Xcode

    在执行任何缓存删除之前,请确保 Xcode 和所有活动模拟器实例已关闭。

  2. 2

    在Finder中找到DerivedData

    打开 Xcode 设置 → 位置,然后单击 DerivedData 旁边的箭头,或直接导航到 Finder 中的 ~/Library/Developer/Xcode/DerivedData。

  3. 3

    删除 DerivedData 构建子文件夹

    在 DerivedData 中选中不再需要的旧项目编译缓存文件夹,将其移至废纸篓。Xcode 会在下次重新编译时自动重建干净的最新索引。

  4. 4

    在组件或终端中管理模拟器

    在终端中使用 xcrun simctl delete unavailable,或打开 Xcode 设置 → 组件来删除未使用的模拟器运行时。

Smart Cleaner AI - Disk Clean

检查开发者磁盘占用,找回宝贵空间

Smart Cleaner AI - Disk Clean 可帮助您可视化磁盘使用情况、定位大文件并删除不需要的应用程序缓存,以便您可以保持 Mac 快速且精简。

Download on the App Store
免费下载 Smart Cleaner AI →

常见问题

删除 DerivedData 会删除我的源代码或 Git 历史记录吗?▼

不。DerivedData 仅包含临时构建产物和索引。您的项目文件、源代码和 Git 存储库完全保持不变。

为什么删除 DerivedData 后我的第一次构建速度很慢?▼

因为Xcode必须重建其内部符号索引并从头开始重新编译Swift包。随后的增量构建将恢复全速。

Xcode 档案存储在哪里?▼

Xcode 将分发档案存储在 ~/Library/Developer/Xcode/Archives/ 中。您可以通过 Xcode Organizer(窗口 → Organizer)查看和删除旧的开发档案。

我可以将 DerivedData 移动到外部 SSD 吗?▼

是的,在 Xcode 设置 → 位置中,您可以在外部 NVMe 驱动器上设置自定义 DerivedData 路径,尽管内部 Mac SSD 提供更快的构建吞吐量。

开发人员应该多久清理一次 DerivedData?▼

开发人员通常在对索引或编译错误进行故障排除时、在主要 Xcode 更新后或从旧的、不活动的项目中回收存储时清理 DerivedData。

资料来源

分享

准备好了就开始

下载适用于 Mac 的 Smart Cleaner AI

分析 Mac 存储空间,安全清理系统数据缓存,查找大文件,并通过设备端控制移除应用残留。

使用 Smart Cleaner AI 即表示您同意我们的 使用条款 和 隐私政策.