Mac AssetsV2 能删吗?42 GB 实测与安全清理方法

Mac 的 AssetsV2 folder 能否安全删除?不要直接删整目录。用 42 GB 实测判断是否来自 Xcode Simulator Runtime,并按官方入口释放空间。

安全决策助手

回答 3 个问题,再决定下一步

它不会执行删除,也不会把“系统数据”自动归因到 AssetsV2。所有判断只保存在当前页面。

先只读盘点,不删除

目前还不能证明 AssetsV2 是空间问题,更不能证明整个文件夹可以删除。先量出目录大小、最大资产类别和磁盘可用空间。

  1. 记录 df -h / 的 Available
  2. 运行 du -sh /System/Library/AssetsV2
  3. 安装过 Xcode 时再运行 xcrun simctl runtime list -v
可复制的诊断摘要

联系 Apple 支持或项目负责人前,复制当前答案和安全下一步。摘要不包含删除命令。

底线:不要用递归强制删除命令处理整个 AssetsV2,也不要关闭 SIP 来绕过系统保护。

先分清:系统数据很大,不等于 AssetsV2 很大

macOS 的“系统数据”是一个兜底储存分类,Apple 说明它包含没有归入其他特定类别的 Apple 与第三方文件;这不是某个可以整体删除的文件夹。因此看到“系统数据 80 GB”时,不能直接得出“AssetsV2 占了 80 GB”或“删除模拟器就能释放 80 GB”的结论。

先打开苹果菜单 → 系统设置 → 通用 → 储存空间,记录当前可用容量和大类。再用下方只读命令量出 AssetsV2;如果它只占几 GB,继续清理这里不会解决几十 GB 的系统数据问题。Apple 的储存空间页面会在清理后自动更新,但分类数字、目录大小和磁盘可用空间衡量的不是同一件事,复查时不要把它们直接相减。

先定位占用来源,再选择管理入口;分类大小不是可回收空间承诺。
你看到的现象先核对什么下一步
系统数据大,AssetsV2 小系统设置的储存分类、df 可用空间停止针对 AssetsV2 的清理,改查具体占用来源
AssetsV2 大,simctl 列出旧 RuntimeComponents 中的可回收空间、版本与用途只移除确定不再需要的 Runtime
AssetsV2 大,但没有对应 Runtime最大的资产类别、Xcode 是否安装不要手删;按资源所属的系统或应用入口管理

AssetsV2 folder 可以删吗?先看一句话答案

不应删除整个 /System/Library/AssetsV2,也不应把它当作普通缓存使用递归强制删除命令。这个 AssetsV2 folder 是 macOS 管理 MobileAsset 的受保护存储,里面可能同时存在 Simulator Runtime、系统更新、语音、字体和其他组件;文件夹很大,只说明需要继续辨认资产类别,不代表整个目录都可安全删除。

英文问题 is AssetsV2 safe to delete 的准确答案也是:不要删整个文件夹;只在确认某个具体组件不再需要后,通过它的官方管理入口移除。对 Xcode 开发者,通常可处理的是某个明确的 Simulator Runtime,而不是 AssetsV2 本身。

判断单位应是具体组件或 Runtime,不是 AssetsV2 顶层文件夹。
对象是否直接删除安全入口
整个 /System/Library/AssetsV2否先只读盘点,由 macOS 或对应组件管理
明确不用的 Simulator Runtime可以按版本移除Xcode → Settings → Components;或确认 UUID 后使用 simctl
MacSoftwareUpdate、语音、字体等其他资产不要按目录手删回到软件更新或对应系统设置;字体与系统模型保留

先判断 AssetsV2 里是哪一类资源

AssetsV2 是 macOS 管理可下载系统资产的位置,不是一个可以整体清空的普通缓存。开发者遇到的几十 GB 占用经常来自 iOS、watchOS、tvOS 或 visionOS Simulator Runtime;同一目录也可能包含系统更新、语音、翻译、字体、Metal 工具链或其他 MobileAsset。

先找出最大的一级类别,再决定由哪个系统组件管理它。不要只因为目录名含有 Asset 或 Cache 就执行 sudo rm;关闭 SIP、修改 MobileAsset 的 XML/plist 或手删 .asset 都可能留下登记状态与磁盘内容不一致的问题。

第一步只读盘点,不删除任何东西

下面四条命令分别查看根卷空间、AssetsV2 总量、最大的一级类别和 Xcode 已登记的 Runtime。du 可能因系统权限而显示部分目录不可读;这不等于应该给终端完全磁盘访问后强删。没有安装 Xcode 或 simctl 不可用时,只报告占用,不猜测目录对应哪个 Runtime。

  1. df -h /
  2. du -sh /System/Library/AssetsV2
  3. du -sk /System/Library/AssetsV2/* 2>/dev/null | sort -nr | head -40
  4. xcrun simctl runtime list -v

Mac mini 实测:42 GB 的 AssetsV2 里确实有 4 个 iOS Runtime

2026 年 9 月 29 日,我们在 macOS 26.4.1(25E253)的 Mac mini 上做了只读盘点:du 报告 /System/Library/AssetsV2 为 42 GB;Xcode 27.0(27A5194q)的 Components 同时列出 4 个已安装 iOS Simulator Runtime。simctl runtime list -v 返回 4 个 Ready、Deletable: YES 的磁盘映像,总计 31.9 GB。这个结果证明本机的大部分 AssetsV2 占用与模拟器有关,但仍不能把 42 GB 与 31.9 GB 的差额直接判定为垃圾。

Xcode Components 显示的是组件管理视图,simctl 报告的是已登记磁盘映像,du 统计的是目录占用;三者口径不同。读者应在自己的 Mac 上重复盘点,不能照抄本站的版本、UUID、容量或删除决定。本站没有为了测试而删除任何 Runtime。

2026-09-29 的单机快照;容量来自 Xcode Components,不代表每台 Mac,也不等于实际可回收空间。
本机已安装 RuntimeXcode Components 显示容量本次处理
iOS 26.3.18.39 GB保留,仅记录
iOS 26.18.34 GB保留,仅记录
iOS 18.68.84 GB保留,仅记录
iOS 18.28.71 GB保留,仅记录
Mac mini 的 Xcode Components 页面,显示 iOS 26.3.1 Simulator、Metal Toolchain 和开发者文档组件容量
2026 年 9 月 29 日在 Mac mini 的 Xcode 27.0 Components 中实拍;iOS 26.3.1 Simulator 显示 8.39 GB。画面只证明这台 Mac 当时的已安装组件,不代表实际删除后一定回收同等容量。

先做 Runtime 删除演练

Xcode 随附的 simctl 可以按最后使用时间筛选 Runtime。我们在 2026 年 9 月 15 日用本机 xcrun simctl help runtime 核对,当前命令支持 --notUsedSinceDays、--outdated、--unusable 和 --dry-run;dry-run 只列出候选,不执行删除。

例如 xcrun simctl runtime delete --notUsedSinceDays 30 --dry-run 会预览超过 30 天未使用的 Runtime。不要把“旧”自动等同于“可删”:仍在维护旧系统兼容性、关联当前模拟器设备或当天使用过的版本应保留。

  1. 记录候选 Runtime 的系统版本、build、UUID、大小和 Last Used At。
  2. 确认没有正在启动的模拟器依赖它,也没有项目仍需测试该系统版本。
  3. 估算删后影响:需要时必须从 Xcode Components 重新下载。
  4. 只有明确确认具体 Runtime 或保留天数策略后,才进入删除步骤。

优先用 Xcode Components 删除

Apple 官方文档说明,Xcode → Settings → Components 会显示已安装组件及删除后可回收的空间。对不再使用的 Other Installed Platforms,点信息按钮,再选择 Delete;可关闭的可选组件则显示 Turn Off。这个入口能让 Xcode 同时处理 Runtime 与登记状态。

不同 Xcode 版本的界面名称可能变化,但不要因此回退到手删系统目录。若 Components 没显示对应条目,先用 runtime list -v 确认它是否仍是已登记 Runtime。

Mac mini 的 Xcode Components 页面,显示 iOS 26.1、iOS 18.6 和 iOS 18.2 Simulator Runtime
同一次只读盘点中,Components 显示 iOS 26.1、18.6、18.2 Simulator 分别为 8.34、8.84、8.71 GB;截图没有执行删除,也不能证明这些版本对其他项目不再需要。

没有安装 Xcode,或 Components 里找不到怎么办

先停在只读诊断。xcrun simctl 报找不到工具,不能据此断定 AssetsV2 是无主垃圾;相反,装一个 Xcode 只为执行删除命令可能让占用更大。记录 macOS 版本、AssetsV2 最大一级类别、df 可用空间,以及系统设置中显示的储存分类,再到对应的系统设置或 App 管理入口找所有者。

如果曾安装后又移除了 Xcode,目录里可能留有受系统管理的资产,但仅凭路径和体积仍无法证明它可安全删除。不要借用网上的通用清理脚本或临时关闭系统保护;确实无法归属时,保留读数并向 Apple 支持或开发者支持提供诊断信息,比盲删可靠。

需要命令行时,只删除已确认的 Runtime

对已经核对过的单一 Runtime,可使用 xcrun simctl runtime delete RUNTIME-UUID。当前 simctl 帮助明确写明,删除磁盘镜像 Runtime 时会先关闭使用它的已启动模拟器并卸载镜像,所以不要在仍有调试会话时执行。本文中的 UUID 是占位符,不能原样复制。

不要使用 runtime delete all,也不要在不了解影响时批量使用 --outdated 或 --unusable。删除完成后,再运行 xcrun simctl runtime list --json、df -h / 和对应 AssetsV2 类别的 du;只有空间实测增加,才能报告已回收容量。

命令成功但空间没有立即回来怎么办

Runtime 的逻辑删除和磁盘实际回收可能不是同一时刻。若状态显示 Deleting,先等待并重新读取 runtime list;不要反复提交删除,也不要杀死 CoreSimulator 进程。目标没有被正在运行的模拟器使用时,可按 UUID 使用官方 runtime unmount,再复查状态。

某些旧 Runtime 已从 simctl 列表消失,但相关 .asset 仍由 macOS 保留。把它记录为系统受管残留,方便时重启后复查;不能承诺重启一定释放,也不要为了让 du 变小而手工删除。

如果最大类别不是 Simulator Runtime

MacSoftwareUpdate 应在“系统设置 → 通用 → 软件更新”中管理;Siri、语言、翻译和语音资源应从对应系统设置移除;字体和系统模型应保留。MetalToolchain 先用 xcodebuild -showComponent MetalToolchain 核对,只有明确不需要编译 Metal shader 时才考虑 xcodebuild -deleteComponent MetalToolchain。

如果你怀疑占用来自 Time Machine 本地快照,不要把它与 AssetsV2 混为一谈。Apple 说明 macOS 会把快照占用计入可用储存,并按时间或空间需求自动清理;Finder 中的系统数据数字不等于必须手动删除的快照容量。

完成后应记录删除前后的 df 可用空间、AssetsV2 总量、删除与保留的 Runtime,以及仍存在但未触碰的系统类别。没有这组前后数据,就只能说操作已提交,不能说已经释放了几十 GB。

核验来源

内容说明

本文由 iPunk 编辑流程辅助整理,并按可复现性、风险和实际成本进行人工复核。工具与政策会变化,请以产品当前页面为准。