Xcode のストレージ
Xcode の DerivedData を安全に削除する方法
DerivedData は Xcode がビルド生成物とインデックスを置く場所で、中身はすべて Xcode が作り直せます。Xcode と実行中のビルドが止まっていれば削除してかまいませんが、次のビルドとインデックス作成には時間がかかります。Xcode の Archives とプロジェクトフォルダは別の場所にあり、作り直せないので残しておいてください。
DerivedData の場所
標準の場所は ~/Library/Developer/Xcode/DerivedData で、プロジェクトやワークスペースごとにフォルダがひとつずつあります。フォルダ名はプロジェクト名のあとにランダムな文字列が続く形なので、見分けるのは難しくありません。Xcode の「設定」から「Locations」を開き、DerivedData のパスの横にある小さな矢印をクリックしても開けます。
Archives はすぐ隣の ~/Library/Developer/Xcode/Archives にあります。書き出したビルドと、そのビルドのクラッシュレポートを読むためのシンボルファイルが入っているので、今回の削除には含めないでください。
手作業で削除する
特定のプロジェクトだけ調子が悪いなら、そのプロジェクトのフォルダだけを削除します。容量を空けたいときは日付順に並べ、しばらく開いていないプロジェクトのフォルダを消していきましょう。
- 実行中のビルドやテスト、プレビューが終わるのを待ってから Xcode を終了します。
- DerivedData フォルダを開き、各フォルダの名前、日付、サイズを確認します。
- 選んだプロジェクトフォルダをゴミ箱に移します。
- 作業中のプロジェクトを開き、インデックス作成とビルドが終わってからゴミ箱を空にします。
Mint でできること
Mint の「ディスク」タブでは、DerivedData が「再構築可能」の中に複数の行に分かれて表示されるので、プロジェクト単位で選べます。チェックが入るのは、Xcode とビルドツールが動いていないときだけです。ビルド中なら、チェックは外れたままになります。
Mint がチェックを入れた行のボタンは「完全に削除」で、確認は一度だけです。ビルド生成物はゴミ箱に移しても、空にするまで容量が増えないためです。同じスキャンで、シミュレータのキャッシュやパッケージマネージャのキャッシュ、node_modules フォルダも見つかります。
よくある質問
Xcode の DerivedData は削除しても大丈夫ですか?
ビルド中でなければ大丈夫です。Xcode が作り直すので、次のビルドが遅くなり、インデックス作成もやり直しになる程度です。
DerivedData を削除するとコードも消えますか?
消えません。ソースコードはプロジェクトフォルダにあります。削除する前にパスを確認し、プロジェクトや Archives のフォルダを誤って選ばないようにしてください。
App Store 版の Mint で DerivedData を削除できますか?
できません。App Store 版は ~/Library にアクセスできないため、DerivedData の削除は Direct 版と Setapp 版の機能です。
DerivedData がどれだけあるか確かめましょう
Mint でスキャンして「再構築可能」を開き、もう使わないプロジェクトのフォルダを削除してください。