MacでXcodeキャッシュをクリーンアップする方法 (DerivedData, Archives, シミュレーター)
MacでXcodeキャッシュをクリーンアップする方法 (DerivedData, Archives, シミュレーター)
iOSまたはmacOSアプリをビルドする場合、Xcodeはディスクスペースを最も早く消費する方法の一つです。DerivedData、Archives、シミュレーター、およびSwiftPMキャッシュは、ストレージ概要で警告なしに数十ギガバイトにまで膨れ上がる可能性があります。
このガイドでは、各フォルダーの役割、安全に削除できるもの、およびクリーンアップを自動化する方法について説明します。より広範なストレージ戦略については、Macのディスクスペースを解放する方法をご覧ください。
Xcodeがこれほど多くのスペースを使用する理由
Xcodeは、いくつかの独立したカテゴリのデータを保存します。
- DerivedData — 中間ビルド生成物、インデックス、モジュールキャッシュ。安全に削除できます。Xcodeは次回のコンパイル時に再構築します。
- Archives — App Store Connectおよびアドホック配布用のリリースビルド。古いアーカイブは忘れ去られがちです。
- Simulators — 完全なデバイスランタイムイメージ。使用されていないランタイムを削除すると、大量のスペースが回復します。
- SwiftPM —
.build下のチェックアウトとビルド成果物、およびSwiftPMキャッシュ。 - Device support — 接続されたiOSデバイスのシンボル。それらのOSバージョンをテストしなくなった場合、古いバージョンは削除できます。
これらはどれも「あなたのソースコード」ではありません。これらは再現可能な成果物であるため、削除しても通常はリスクが低いのです。
DerivedDataを手動でクリーンアップする
- Xcodeを終了します。
- Finderを開き、Shift + Command + Gを押します。
- 以下を貼り付けます:
~/Library/Developer/Xcode/DerivedData - 内容(またはフォルダー全体)を削除します。Xcodeが再作成します。
または、Xcodeで: 設定 → 場所 → Derived Data をクリックし、矢印をクリックしてFinderでフォルダーを開きます。
古いアーカイブを削除する
アーカイブは以下の場所にあります:
~/Library/Developer/Xcode/Archives
日付付きの各フォルダーはXcodeアーカイブです。出荷またはデバッグする必要がなくなった古いバージョンのアーカイブは削除してください。それらのビルドからのクラッシュログをまだシンボリケートする必要がある場合は、最近のものを保持してください。
シミュレーターランタイムを整理する
- Xcode → 設定 → プラットフォーム(または古いXcodeではコンポーネント)を開きます。
- 使用しなくなったiOS/watchOS/tvOSランタイムを削除します。
~/Library/Developer/CoreSimulator下のデータを削除することもできますが、アクティブなプロジェクトを壊さないように、まずXcode経由でプラットフォームを削除することをお勧めします。
SwiftPMとCocoaPods
- SwiftPM:
~/Library/Caches/org.swift.swiftpm下のチェックアウトとプロジェクトの.buildフォルダー。 - CocoaPods:
Podsフォルダーはpod installで再生成できます。
不明な場合は、プロジェクト内の大きなフォルダーを削除する前に、バックアップを取るかバージョン管理を使用してください。
NythyCleanerでXcodeクリーンアップを自動化する
NythyCleanerには、一般的な開発者パスをスキャンし、各カテゴリが使用するスペースの量を要約し、1つのワークフローでクリーンアップできる開発者 / Xcodeセクションが含まれています。これと組み合わせて使用できます:
- ディスクスペース — Xcode以外の場所でスペースがどこに使われているかを確認するためのツリーマップビュー。
- システムクリーンアップ — Xcodeの隣に蓄積されるキャッシュとログ。
安全チェックリスト
- DerivedDataまたは大量のシミュレーターデータを削除する前にXcodeを閉じます。
- 意図しない限り、
~/Developerまたはプロジェクトフォルダーを削除しないでください。 - 一致するビルドをアップロードまたはデバッグする必要がある場合は、最近のApp Storeアーカイブを保持してください。
まとめ
| Location | Typical contents | Safe to delete? |
|---|---|---|
| DerivedData | ビルド出力、インデックス | はい(再構築されます) |
| Archives | IPA/IPA関連アーカイブ | はい、古くなった場合 |
| Simulators | ランタイムイメージ | はい、未使用のランタイム |
| SwiftPMキャッシュ | 依存関係、ビルド | 通常ははい |
Xcodeキャッシュを定期的にクリーンアップすることで、SSDを高速に保ち、ビルド中の予期せぬ「ディスクがいっぱいです」エラーを防ぐことができます。