開発者向けストレージガイド
Xcode DerivedData を安全に整理する方法
DerivedData には再生成できるインデックスとビルド生成物が含まれるため、Xcode と関連ツールが使用を停止した後なら、古いプロジェクトフォルダは通常削除できます。削除後は再インデックスと再ビルドが必要です。DerivedData をソースリポジトリや Xcode Archives と取り違えないでください。
macOS 標準機能でできること
一つのワークスペースに問題がある場合はプロジェクト単位で整理し、更新日とサイズを確認した場合にだけ、より広い範囲を整理します。
- 進行中のビルドを完了し、出力に依存する Xcode とシミュレータを終了して、ソースの変更は別途コミットまたはバックアップします。
- Xcode の設定または Finder から DerivedData の場所を開き、フォルダ名、更新日、サイズを確認します。
- 古いプロジェクトフォルダだけをゴミ箱へ移します。Archives とソースリポジトリは選択に含めないでください。
- 作業中のプロジェクトを再び開き、Xcode が再インデックスと再ビルドを完了できることを確認してからゴミ箱を空にします。
Mint が役立つ場面
複数の Xcode プロジェクトにビルド出力が蓄積し、他の開発生成物とまとめて候補を確認したい場合に Mint が役立ちます。
- 対応する開発用の場所をスキャンし、DerivedData をパス、サイズ、経過時間とともに表示します。
- 親ディレクトリ全体を無差別に削除せず、削除前に候補を確認します。
- 利用可能な Xcode DerivedData のクリーンアップルールを、実行前に dry run します。
- 承認した生成物をゴミ箱へ移し、ローカル操作ジャーナルにバッチを記録します。
境界と安全確認
DerivedData は再生成できますが、削除には時間がかかり、進行中の作業を中断させる場合があります。
- 実行中のビルド、テスト、プレビュー、デバッグセッションで使用中の出力を削除しないでください。
- Xcode Archives は別のものであり、書き出しやシンボル化に使える唯一の保存済みビルドを含む場合があります。
- ゴミ箱を空にする前に再ビルドが成功することが最善の確認です。Undo にもゴミ箱内の項目が存在することが必要です。
よくある質問
Xcode DerivedData は安全に削除できますか?
再生成できますが、削除するとインデックスとビルド生成物が失われ、次回のビルドが遅くなる場合があります。作業中の Xcode を停止し、まずプロジェクト単位のフォルダを確認してください。
DerivedData の整理でソースコードも削除されますか?
選択範囲が本当に DerivedData 内であれば削除されません。正確なパスを確認し、ソースリポジトリと Archives をクリーンアップ一覧に含めないでください。
Mint で他の開発生成物も見つけられますか?
Mint は、エディションごとのアクセス範囲とユーザー確認を前提に、対応場所で DerivedData、シミュレータデータ、パッケージマネージャのキャッシュ、古い node_modules などの開発生成物をスキャンできます。
古い DerivedData をプロジェクト別に確認
開発生成物をスキャンし、不要と確認したディレクトリだけを選んでください。