# 如何清理 Mac 上的舊 iOS 模擬器執行階段

> 分清模擬器裝置和執行階段映像，再透過 Xcode 或 simctl 清理，同時保留可能仍需要的封存與符號。

Published: 2026-09-04

隨著時間推移，Xcode 的 iOS 模擬器會在不知不覺中佔用數 GB 的儲存空間。以下是清理這些空間的方法。

Xcode 的儲存空間分成執行階段、模擬器裝置、DerivedData、DeviceSupport 和 Archives。它們看起來相近，但管理方式與還原成本不同，應先測量再刪除。

## 為什麼 iOS 模擬器會佔用這麼多空間

執行階段是下載的 iOS、watchOS、tvOS 或 visionOS 系統映像；模擬器裝置是使用其中一個執行階段的虛擬裝置。多台裝置可以共用同一個執行階段，兩者不能當成同一種快取。

## 如何透過終端機刪除未使用的模擬器

`xcrun simctl delete unavailable` 只會刪除執行階段已不可用的裝置記錄：

```bash
xcrun simctl delete unavailable
```

它不會解除安裝執行階段。請在 **Xcode > Settings > Components** 檢查和移除已下載的執行階段，不要直接刪除 `/Library/Developer/CoreSimulator` 或 `/System/Library/AssetsV2` 裡的資料夾。

## 清除模擬器快取和應用數據

只想清除某台裝置的測試狀態時，在 Simulator 中啟動它，再選擇 **Device > Erase All Content and Settings**。這會重設目前裝置，不會刪除共用的執行階段；已安裝 App、鑰匙圈和資料庫都會消失。

<figure class="blog-diagram">
  <img src="https://mole.fit/img/blog/xcode-storage-map.webp" width="1360" height="454" loading="lazy" alt="Xcode 開發者目錄分為可重建快取，包括 DerivedData 和模組快取，以及擷取產物，包括 DeviceSupport、Archives 與模擬器。">
  <figcaption>DerivedData 可以重建，Archives、dSYM 和部分裝置支援資料可能長期有用。</figcaption>
</figure>

## 手動刪除 iOS DeviceSupport 和 DerivedData

DerivedData 可重新產生，但整包清空會讓所有專案重新建置和索引。DeviceSupport 可能仍用於實體裝置除錯；已發布版本的 Archives 和 dSYM 可能要用於後續崩潰解析。Mole 可以列出被新版取代的執行階段，並透過 `simctl runtime delete` 移除選取項，其他裝置和歸檔仍應回到 Xcode 管理。

## 常見問題

### 刪除模擬器會刪掉我的專案代碼嗎？
不會刪除專案原始碼，但虛擬裝置中的 App 和測試狀態會消失。

### 刪除 iOS DeviceSupport 資料夾安全嗎？
不要把整個 DeviceSupport 當成快取。舊系統版本的資料仍可能用於實體裝置除錯或崩潰解析。

### Mole 能找到舊的模擬器嗎？
Mole 會列出被取代的已下載執行階段，並透過 `simctl` 刪除選取項；它不會手動刪 CoreSimulator 資料夾。

---

Canonical HTML page: https://mole.fit/tw/blog/how-to-clean-up-ios-simulator-mac
Blog index for agents: https://mole.fit/tw/blog/llms.txt
Site index for agents: https://mole.fit/llms.txt
