在按小时或按月租用的远程 Mac上,磁盘往往比本地工作站更「紧」:多客户共用镜像、系统分区预留小、你还可能同时开多个 Xcode 与模拟器。本文写给 2026 年通过 VNC 使用云端 macOS 做 iOS 开发/上架的独立开发者与学生:先用编号列表拆解误删源码恐惧、Simulator 与 DerivedData 体积爆炸、Archive 长期堆积等痛点;再给「先清哪一类」决策矩阵;接着是可在 VNC 会话里逐步点击完成的八步清理流程(含终端辅助命令);附四条可引用参数与自检表;最后 FAQ 链到站内《首次使用清单》与《续费与换节点核对》。读完你应能在大约 20 分钟内把最常见三类占用压下去,并知道哪些目录绝不能随手删。💻
① 痛点拆解:远程节点上磁盘为什么更容易「突然红条」
- 镜像与配额策略:租用环境常为控制成本使用较小系统盘或共享存储层;同一镜像被多用户轮换时,预装 Xcode 与 Command Line Tools 已占可观空间,留给 DerivedData 的「余量」比自购 Mac 更薄。
- DerivedData 指数增长:每次切换分支、升级 Swift 工具链或清理失败,都会在
~/Library/Developer/Xcode/DerivedData下留下完整模块缓存;多 Target、多 Configuration 时,单项目即可膨胀到数 GB 至十余 GB。 - Simulator 运行时与数据:不同 iOS 版本的 runtime、设备数据与 App 沙盒副本分散在
~/Library/Developer/CoreSimulator;长期不用的旧系统镜像往往被遗忘,却持续占用 SSD。 - Archives 与旧 IPA:
~/Library/Developer/Xcode/Archives中的.xcarchive含 dSYM 与符号表,单次归档动辄数百 MB;若未定期同步到对象存储或 CI 产物库,桌面与文稿里还会散落历史.ipa。 - 下载与临时目录:浏览器、TestFlight 导出、客户提供的资源包常堆在「下载」与桌面;在 VNC 里看得见图标,却容易被忽略在磁盘统计之外。
- 只敢清废纸篓不敢动开发目录:新手担心误删工程,结果只删几百 MB 的缓存却碰了钥匙串或描述文件——需要明确安全删除清单与必须先备份的边界(参见站内续费备份文)。
② 决策矩阵:DerivedData、Simulator、Archives 该先动谁
| 症状 / 场景 | 优先清理目标 | 预期回收 | 主要风险 |
|---|---|---|---|
| 编译极慢、索引卡顿、切换分支后首次 build 很久 | DerivedData(可按项目或全清) | 常为数 GB 级 | 下次全量编译时间变长;无源码风险 |
| 磁盘告警但近期无归档需求、装了很多旧 Simulator | CoreSimulator 未用设备与旧 runtime | 数 GB 至数十 GB(视安装量) | 需重装 runtime;沙盒测试数据丢失 |
| 刚完成多轮 TestFlight / 上架,Archives 列表很长 | 已上传且已在 ASC 可用的旧 xcarchive(先确认 dSYM 已备份) | 按归档数量线性下降 | 误删仍在线上排障需要的 dSYM |
| 空间个位数 GB、马上要 Archive 但编译不过 | 先 DerivedData + 下载目录,再考虑 Archives | 组合释放 | 顺序错误会导致 Archive 中途失败 |
| 多人共用账号或不确定谁在用哪套模拟器 | 在团队频道确认后再删;优先只删自己的未使用设备 | 中等 | 删掉同事正在跑的 UI 测试环境 |
与站内多篇「SSH vs VNC」文章一致:大目录体积统计与批量删除可在 SSH 终端用 du 完成;确认 Xcode 界面、Organizer、钥匙串与权限弹窗仍建议在 VNC 下进行,避免「删了但 Xcode 仍锁文件」的假成功。
③ 落地步骤:VNC 图形化 + 终端八步清理(含命令)
在 VNC 中打开「关于本机 → 储存空间」或磁盘工具
先看系统卷剩余百分比;若已低于约 10%,暂停大文件下载与并行模拟器,避免 Xcode 写入失败。
终端快速定位 Top 目录(SSH 或 VNC 内终端均可)
示例:
du -sh ~/Library/Developer/* 2>/dev/null | sort -hr | head -n 10
Xcode → Settings → Locations → DerivedData → 箭头进入 Finder 删除旧项目缓存
或关闭 Xcode 后删除整个 DerivedData 文件夹(会触发下次全量编译)。
Xcode → Window → Devices and Simulators → Simulators
右键删除不用的设备副本;再通过 Xcode 设置下载管理移除未使用的运行时。
Xcode → Window → Organizer 审查 Archives
对已上传构建且 dSYM 已在团队存储库中的条目,右键 Delete Archive;不确定时先导出或复制到对象存储。
清空「下载」、桌面大 zip、旧的 ~/Movies 屏幕录制
录屏与临时导出常占数 GB;删除前确认未包含唯一证书导出包。
可选:用 xcrun simctl delete unavailable 清理不可用设备
在终端执行前关闭正在运行的模拟器;执行后重启 Xcode 刷新列表。
空废纸篓并做一次干净编译自检
Product → Clean Build Folder 后编译 Debug;若通过再试 Archive,确认磁盘余量稳定在安全线以上。
④ 可引用信息与数字清单
- ✅ 已用
du或系统「储存空间」确认 Top 三类目录 - ✅ dSYM / 归档在删前已有团队约定存储位置
- ✅ 清理后完成 Clean + Debug + 一次最小 Archive 验证
⑤ 清理后自检与误删边界
以下路径不应作为「日常清缓存」随手删除:用户钥匙串中的发布私钥、仅存在于本机的 .mobileprovision 与未备份的 .p12、团队尚未推送的 Git 提交、客户交付物唯一副本。清理节奏建议与站内《续费与换节点核对》中的导出清单合并:每次大删前勾选「证书与 Profile 已离机备份」。
若清理后 Xcode 报「Missing package product」或 SPM 解析失败,优先执行 File → Packages → Reset Package Caches 再拉取,而非立刻重装系统。
⑥ FAQ、站内延伸阅读与结语
问:能不能只扩容不清理? 取决于服务商是否支持在线扩盘;即使可扩,长期不治理 DerivedData 仍会在数周内再次触顶,运维成本更高。
问:CI 机器也需要同样步骤吗? 是,但应脚本化并在流水线末尾回收产物;图形步骤仍可在 VNC 上做一次基线验收。
延伸阅读:站内《2026 年 VNC 远程 Mac 首次使用清单》《租云端 Mac 续费与换节点前的核对》《文件与剪贴板实操》《延迟与带宽真相》《Xcode Cloud 与远程 Mac 分工》。
结语:把「可删缓存」和「不可丢凭证」分开,远程环境才能稳定跑 Archive
在本地 Windows 或 Linux 上通过虚拟机拼出 macOS 开发环境,往往要面对镜像膨胀、快照管理与驱动兼容等隐性成本;磁盘与图形会话行为也与真实 Apple 硬件上的 Xcode 不一致。纯无图形 SSH 会话则难以快速核对 Organizer、模拟器列表与系统储存可视化。通过 VNC 连接真实远程 Mac,你能同时用 Finder 与 Xcode 界面完成「看见再删」的治理,把 DerivedData、Simulator 与 Archives 纳入固定运维节奏,而不是每次上架前夜被动救火。若你不需要为短周期项目购置整机,又希望磁盘策略与签名链路都可复现、可团队交接,租赁带 VNC 的远程 Mac(如 VNCMac)通常比自维护杂牌镜像更省时间与返工;结合帮助页的连接说明与站内多篇清单类文章,可以把清理清单写进你们的 Runbook,让云端开发与上架保持可预期。
建议在团队 wiki 记录:本次清理释放的 GB 数、删除的 Archive 版本号范围、以及 dSYM 存放路径——下次排障时能快速对齐符号表,而不是在远程磁盘上重复「考古」。