WTMemory ガイド

Xcode の容量が大きい?DerivedData・DeviceSupport・古いシミュレータを削除する

2026年10月13日更新

Xcode の DerivedData は ~/Library/Developer/Xcode/DerivedData にあり、削除しても問題ありません。中身は、次回のビルドで Xcode が作り直すビルド成果物、インデックス、ログだけです。Xcode を終了してフォルダを削除すれば、次のビルドとインデックス作成に時間がかかるようになるだけです。iOS DeviceSupport とシミュレータのキャッシュも削除して大丈夫です。残しておくべきなのは Archives です。

確認機能を無料で使える macOS メニューバーアプリ WTMemory を使えば、削除するかどうか決める前にこれらのフォルダとサイズを確認できます。詳しくは最後のほうで紹介しますが、ここで説明する手順はすべてターミナルと Finder だけでも実行できます。

Mac で Xcode はどこに容量を使っている?

ほぼすべて ~/Library/Developer の下にあります。何かを削除する前に、まずサイズを測りましょう。

du -sh ~/Library/Developer/Xcode/* ~/Library/Developer/CoreSimulator/* 2>/dev/null | sort -h

最近の Xcode がインストールするシミュレータのランタイムはシステムが管理しており、ホームフォルダの外に置かれるため、上のコマンドでは集計されません。xcrun simctl runtime list で確認してください。

場所中身削除してよい?
Xcode/DerivedDataビルド成果物、インデックス、モジュールキャッシュ、ログはい。次回のビルドが遅くなり、インデックスが作り直されます。
Xcode/iOS DeviceSupport(watchOS、tvOS、visionOS も同様)接続したデバイスからコピーされたシンボル。OS バージョンごとに1フォルダはい。そのバージョンのデバイスを接続すると再コピーされます。
CoreSimulator/Cachesシミュレータのキャッシュはい。必要なときに再作成されます。
CoreSimulator/Devices各シミュレータと、そこにインストールしたアプリやデータrm ではなく simctl を使います。シミュレータ内のアプリデータは失われます。
シミュレータのランタイムiOS、watchOS、tvOS、visionOS のシミュレータ用 OS イメージその OS でテストしないなら、はい。再ダウンロードできます。
Xcode/Archivesアーカイブしたビルドと dSYM通常は削除しません。クラッシュのシンボル化に必要です。
~/Library/Caches/com.apple.dt.XcodeXcode アプリのキャッシュはい。Xcode を終了してから削除します。

Xcode の DerivedData を削除する方法

まず Xcode を終了してください。Xcode の起動中にフォルダを削除すると、インデクサやビルドシステムがおかしな状態になることがあります。

rm -rf ~/Library/Developer/Xcode/DerivedData

rm -rf は完全に削除します。元に戻せる方法がよければ、open ~/Library/Developer/Xcode/DerivedData で Finder にフォルダを開き、中身をゴミ箱にドラッグしてください。Xcode からも開けます。Settings > Locations に DerivedData のパスが表示され、横の矢印からフォルダを開けます。

1つのプロジェクトだけを消したい場合は、そのフォルダだけを削除します。フォルダ名はプロジェクト名とハッシュの組み合わせで、たとえば MyApp-abcdefghij のようになっています。クリーンビルドしても直らない古いインデックス、存在しないはずのビルドエラー、「No such module」エラーの定番の対処法です。

失うもの:各プロジェクトの次回のビルドはフルビルドになり、DerivedData に解決済みの Swift パッケージは再取得され、インデックス作成が終わるまでコード補完や定義へのジャンプが遅くなります。ソースツリーには一切変更はありません。

Product > Clean Build Folder(Shift-Command-K)は別物です。現在のプロジェクトのビルド成果物は削除しますが、そのインデックス、ほかのプロジェクトのフォルダ、共有モジュールキャッシュは残ります。

iOS DeviceSupport は削除しても大丈夫?

はい。iPhone や iPad をデバッグ用に接続すると、Xcode はそのデバイスでアプリをデバッグし、クラッシュログをシンボル化できるように、その iOS バージョンのシンボルを Mac にコピーします。これまでにデバッグした iOS バージョンごとにフォルダが作られ、1つで数 GB になることもあります。サイズ順に一覧表示するには次のコマンドを使います。

du -sh ~/Library/Developer/Xcode/iOS\ DeviceSupport/* | sort -h

テスト用デバイスでもう使っていない iOS バージョンのフォルダを削除しましょう。削除したバージョンのデバイスを再び接続すると Xcode がシンボルをコピーし直すため、デバッグを始められるまで数分かかります。watchOS DeviceSupport、tvOS DeviceSupport などの同じ階層のフォルダも同様です。

古いシミュレータを削除する方法

起動中のシミュレータを終了してから、ランタイムがインストールされていないデバイスを削除します。

xcrun simctl shutdown all
xcrun simctl delete unavailable

delete unavailable は現在の Xcode SDK で実行できないシミュレータだけを削除するので、最初の一手として安全です。残りを確認するには xcrun simctl list devices を実行し、xcrun simctl delete <UDID> で UDID を指定して個別に削除します。xcrun simctl erase all はすべてのシミュレータを削除せずに工場出荷状態へリセットし、インストール済みのアプリとそのデータを消去します。

いちばん大きいのはたいていランタイムです。一覧を表示します。

xcrun simctl runtime list

識別子を指定して1つずつ削除するか、日数を基準にしたクリーンアップで何が消えるかを事前に確認できます。

xcrun simctl runtime delete <identifier>
xcrun simctl runtime delete --notUsedSinceDays 90 --dry-run

一覧に問題がなければ --dry-run を外して実行します。Xcode では Settings > Components(Xcode 15 では Platforms)から同じ操作ができます。SwiftUI のプレビューは専用のシミュレータセットを持っており、xcrun simctl --set previews delete all で消去できます。必要なものは Xcode が再作成します。

Xcode の Archives は削除すべき?

通常は削除しません。~/Library/Developer/Xcode/Archives 内の各アーカイブには、アプリのビルドとその dSYM ファイルが含まれています。dSYM は、そのビルドのクラッシュレポートを読めるスタックトレースに変換するときや、ビルドを再エクスポート・再アップロードするときに必要です。アーカイブを削除するのは、そのバージョンが気にかける環境のどこにももうインストールされていない場合か、dSYM をクラッシュレポートサービスなど別の場所に保管している場合だけにしましょう。Window > Organizer > Archives から管理すれば、各アーカイブのバージョンと日付を先に確認できます。

Swift Package Manager や古い Xcode はどうする?

Xcode の容量が「システムデータ」に表示されるのはなぜ?

macOS のストレージ設定では、開発者向けキャッシュ、シミュレータのランタイム、その他のライブラリデータが大まかなカテゴリ(多くは「デベロッパ」や「システムデータ」)にまとめられるため、数値が1つのフォルダと一致することはほとんどありません。上のように du で測れば、どこが容量を使っているかが正確にわかります。このカテゴリのほかの中身については「システムデータ」のガイドをご覧ください。

メニューバーから Xcode のキャッシュを確認する

WTMemory は Xcode の DerivedData、iOS DeviceSupport、シミュレータのキャッシュなど対応する場所をスキャンし、それぞれの説明と推定サイズを表示します。決める前にどの項目も Finder で表示できます。確認するだけなら無料です。

Pro では、項目を個別に選び、確認画面で削除した場合の影響を読んでから、WTMemory がそれらをゴミ箱に移動します。自動で選択されるものはなく、完全に削除されるものもありません。ゴミ箱を空にするのはあなた自身です。Archives はクリーンアップの対象外なので、dSYM はそのまま残ります。実行中のツールがキャッシュファイルを開いたままにすることがあるため、先に Xcode とシミュレータを終了してください。WTMemory は macOS 12 以降の Apple シリコンと Intel の Mac で動作します。Pro は買い切り $9 USD(最大3台の Mac)、7日間の試用付きです。

WTMemory をダウンロード

よくある質問

Xcode の DerivedData は削除しても大丈夫?

はい。DerivedData に入っているのは、Xcode が再生成できるビルド成果物、インデックス、モジュールキャッシュ、ログだけです。先に Xcode を終了してください。代償は、最初のビルドが遅くなることと、各プロジェクトのインデックスが作り直されることです。

iOS DeviceSupport は削除しても大丈夫?

はい。各フォルダには、その iOS バージョンを搭載したデバイスからコピーされたシンボルが入っています。同じバージョンのデバイスを再び接続すると Xcode がシンボルをコピーし直し、数分かかります。

Xcode の Archives は削除すべき?

通常は削除しません。Archives には、リリースしたビルドのクラッシュレポートをシンボル化するのに必要な dSYM ファイルが含まれています。そのビルドがもう使われていないか、dSYM を別の場所に保管している場合にだけアーカイブを削除してください。

古い iOS シミュレータはどう削除する?

xcrun simctl delete unavailable を実行すると、ランタイムがインストールされていないシミュレータを削除できます。ランタイムごと削除するには xcrun simctl runtime delete を使うか、Xcode の設定の Components パネルから削除します。

Product > Clean Build Folder でも同じだけ容量が空く?

いいえ。Clean Build Folder が削除するのは現在のプロジェクトのビルド成果物だけです。そのプロジェクトのインデックス、ほかのプロジェクトのフォルダ、共有モジュールキャッシュは DerivedData に残ります。

関連ガイド

WTMemory の完全ガイドとライセンスのヘルプ