開発者向けディスククリーンアップ
Xcode の Derived Data を安全に削除する方法
Xcode の Derived Data に何が含まれるのか、削除しても安全なのかを解説し、ソースコードを消さずにプロジェクト単位またはフォルダー全体をクリーンアップする方法を紹介します

Xcode の Derived Data は通常、削除しても問題ありません。デフォルトのフォルダーに保存されているのは、Xcode が再生成できるビルド成果物やインデックスです。削除してもプロジェクトのソースコードは消えません。ただし、次回のビルドやインデックス作成には通常より時間がかかります。
大切なのは、削除する範囲を間違えないことです。最初に Xcode を終了し、対象が ~/Library/Developer/Xcode/DerivedData であることを確認してください。Archives フォルダー、シミュレーターデバイス、プロジェクトフォルダーは別のデータです。
記載しているパスと確認コマンドは、2026 年 8 月 10 日に macOS 15.7.7、Xcode 16.2 で検証しました。Xcode のメニュー構成はバージョンによって変わる場合がありますが、ビルド先を変更していなければ、デフォルトの Derived Data パスと以下のターミナル操作を利用できます。
Xcode の Derived Data とは?
Derived Data は、Xcode がプロジェクトをビルドしたり、コードを検索・解析したりするために生成する作業用データの保存場所です。主に次のようなデータが含まれます。
- コンパイル済みの生成物と中間ビルドファイル
- 定義へのジャンプ、検索、コード補完に使われるインデックス
- ログなど、プロジェクトごとのビルド補助データ
- ワークスペースで使用する Swift Package のローカルチェックアウトと関連するビルドデータ
Apple のドキュメントでは、インデックスがワークスペースごとの Derived Data ディレクトリに作成されると説明されています。また Xcode のリリースノートでも、一部のビルド問題を解消する手順として、プロジェクトの Derived Data を削除する方法が案内されています。つまり、ここにあるのは再生成できるデータであり、ソースコードの元データではありません。
次のような場合は、削除を検討できます。
- 使っていない古いプロジェクトの生成データが数 GB 残っている
- 古いビルド結果が残り、同じ問題が繰り返し起きる
- コード補完やインデックスの動作がおかしい
- Xcode のアップデート後に Swift Package やマクロのビルドが失敗する
- 初回ビルドが遅くなることを理解したうえで、空き容量を増やしたい
Derived Data があるという理由だけで、定期的に空にする必要はありません。開発中のプロジェクトでは、増分ビルド用のデータによってビルド時間が短縮されます。サイズが小さく問題もないフォルダーを削除しても、空き容量と引き換えにビルド時間が長くなるだけです。
安全に削除できるものは?
| 場所 | 推奨される対応 | 削除後に起こること |
|---|---|---|
~/Library/Developer/Xcode/DerivedData/ProjectName-* | 内容を把握しているプロジェクトなら削除可能 | そのプロジェクトが再ビルド、再インデックスされる |
~/Library/Developer/Xcode/DerivedData 内のすべて | 完全にリセットしたい場合は削除可能 | すべての Xcode プロジェクトが再ビルド、再インデックスされる |
~/Library/Developer/Xcode/Archives | キャッシュとして扱わず、別途確認する | 配布やクラッシュ解析に必要なアーカイブ済みビルドと対応するデバッグシンボルを失う可能性がある |
~/Library/Developer/CoreSimulator/Devices | 別途内容を確認する | シミュレーター内のアプリ、設定、テストデータを失う可能性がある |
| リポジトリまたはプロジェクトのディレクトリ | 削除しない | 実際のソースコードとプロジェクト設定が保存されている |
クリーンアップ前に、Xcode の Settings → Locations も確認してください。Derived Data が Custom に設定されている場合は、デフォルトのパスではなく、そこに表示される場所を使用します。
方法 1:Finder で Derived Data を削除する
プロジェクトごとのフォルダーを見てから削除したい場合は、Finder を使うのが最もわかりやすい方法です。
- 作業を保存し、実行中のビルドやテストを停止します。
- Xcode → Settings → Locations を開きます。
- Derived Data を探し、パスの横にある矢印をクリックして Finder に表示します。
- Xcode を終了します。
- 問題のあるプロジェクトのフォルダーだけをゴミ箱に移動します。完全にリセットしたい場合は、Derived Data ディレクトリの中身をすべてゴミ箱に移動します。
- Xcode を開き直し、プロジェクトをもう一度ビルドします。
いったんゴミ箱に移動すれば、短期間は元に戻せます。プロジェクトが問題なく開き、再ビルドできることを確認してから、ゴミ箱を空にしてください。
方法 2:ターミナルで確認して削除する
まずはフォルダーが存在することと、合計サイズを確認します。
du -sh "$HOME/Library/Developer/Xcode/DerivedData"
du -sh "$HOME/Library/Developer/Xcode/DerivedData"/* 2>/dev/null | sort -h
プロジェクトのディレクトリ名は通常、判別しやすいプロジェクト名で始まり、その後ろに固有の文字列が続きます。Finder で確認するには、次のコマンドを実行します。
open "$HOME/Library/Developer/Xcode/DerivedData"
1 つのプロジェクトを完全に削除する場合は、以下のディレクトリ名を、自分の環境で確認した正確な名前に置き換えてください。
rm -rf "$HOME/Library/Developer/Xcode/DerivedData/YourProject-xxxxxxxxxxxxxxxxxxxxxxxxxxxx"
デフォルトの Derived Data フォルダー内にあるすべての項目を完全に削除する場合は、次のコマンドを使用します。
find "$HOME/Library/Developer/Xcode/DerivedData" \
-mindepth 1 -maxdepth 1 -exec rm -rf {} +
これらのコマンドはゴミ箱を経由しません。Return キーを押す前にパス全体を読み直してください。Xcode がビルド、テスト、インデックス作成を実行している間は、最後のコマンドを実行しないでください。
方法 3:先に Clean Build Folder を試す
特定のプロジェクトでビルド問題が起きているだけで、インデックスやワークスペース内のほかの生成データまで削除する必要がない場合は、まず Xcode の Product → Clean Build Folder を試してください。Apple のトラブルシューティング資料でも、この操作が案内されています。
コマンドラインからワークスペースをクリーンビルドする場合は、次のように実行します。
xcodebuild \
-workspace YourApp.xcworkspace \
-scheme YourApp \
clean
この方法は、Derived Data ディレクトリ全体を削除するより対象が限定されています。選択したビルドシステムに、そのプロジェクトのビルド成果物をクリーンアップさせる操作であり、すべての Xcode ワークスペースを対象にしたディスククリーンアップではありません。
クリーンアップ後に起こること
最初のビルドは通常、以前より時間がかかります。Xcode がターゲットを再ビルドしてインデックスを作り直すほか、Swift Package の依存関係を再度解決または取得する場合があるためです。インデックス作成が終わるまでは、コード補完や定義へのジャンプが十分に機能しないこともあります。
プロジェクトファイル、Git の履歴、署名証明書、Provisioning Profile、Xcode Archives は、デフォルトの Derived Data ルートの外にあります。上で説明した正確なパスだけを削除すれば、これらには影響しません。
クリーンビルド後も元のエラーが再発する場合は、Derived Data が原因ではない可能性が高いでしょう。キャッシュの削除を繰り返すのではなく、最初に表示された具体的なコンパイルエラー、依存関係の解決状況、使用中の Xcode バージョン、プロジェクトの Build Settings を確認してください。
MangoDisk で Xcode の Derived Data を確認する
削除する前にサイズと正確な場所を確認したい場合は、MangoDisk のディープクリーンに Xcode Derived Data を検出する専用ルールがあります。
このルールは、対象を意図的に限定しています。デフォルトの ~/Library/Developer/Xcode/DerivedData だけを対象とし、実行前に Xcode を終了する必要があります。また、初期状態では選択されません。プロジェクトのソースコード、Archives、署名関連データ、シミュレーターデバイス、インストール済みのシミュレーターランタイムは含まれません。スキャンはデバイス内で実行され、クリーンアップ前に結果を確認できます。確認画面とクリーンアップ履歴の流れについては、MangoDisk の安全ガイドをご覧ください。
よくある質問
Xcode を開いたまま Derived Data を削除できますか?
ビルド、テスト、インデックス作成の途中では削除しないでください。クリーンアップ中にファイルが書き換えられないよう、先に Xcode を終了します。
Derived Data を削除すれば、すべての Xcode ビルドエラーが直りますか?
いいえ。古くなった生成データや不整合がある場合には有効ですが、ソースコードのエラー、無効な署名、依存関係の不足、不適切なビルド設定は修正できません。
どのくらいの頻度で削除すればよいですか?
まとまった空き容量を確保したい場合や、古いビルドデータが問題を起こしていると考えられる場合に削除します。問題のない Derived Data をビルドのたびに消去してもメリットはありません。
削除したフォルダーが再び作られたのはなぜですか?
正常な動作です。プロジェクトをビルドまたはインデックスすると、Xcode は Derived Data を再作成します。クリーンアップは古い生成データを片付けるもので、今後のビルドキャッシュを無効にする操作ではありません。
参考資料
- Xcode 26 Release Notes:Derived Data のクリーンアップを使った復旧手順
- Apple Technical Note TN3118:Debugging your app’s launch screen
- Xcode 4 Release Notes:Derived Data に作成されるワークスペースのインデックス
- Cargo キャッシュと target フォルダーの違い
開発ツールが生成したファイルを画面で確認してから削除するものを選びたい場合は、MangoDisk をダウンロードして、デバイス内でディープクリーンを実行できます。