MacのiOSシミュレータ容量:削除できるものと、できないもの

まず Xcode の「設定 → Components」で不要なランタイムを確認します。シミュレータのデバイス、キャッシュ、ランタイム画像は別のデータです。デバイスを消去する前に必要なテストデータを保存し、対応する削除後に空き容量を確認します。以下の数字は 2026 年 8 月の Mac 1 台の測定で、全バージョンの結果を保証しません。

要点

  • 要するに: まず Xcode の設定 → Components で、もう使わないランタイムを削除しましょう。
  • 気をつけたいこと: デバイス、キャッシュ、ランタイムのイメージは種類の違うデータです。デバイスを消去する前にテストデータを保存し、削除後は実際の空き容量を確認してください。
  • Mint なら: Mint は項目ごとに使える操作を表示します。削除できないものはサイズと理由を表示し、チェックボックスは出しません。

コマンドを選ぶ前に、何が容量を使っているかを見分ける

以下は 2026 年 8 月 20〜26 日に開発者の Mac 1 台で測った記録で、その時点のインストール状態を表しています。特定のバージョンでしか使えないコマンドを試す前に、いまの Xcode のコンポーネント一覧と、インストール済みの simctl のヘルプを確認してください。削除を強行するためにシステム整合性保護を切るのはやめてください。

シミュレータの測定記録と方法(英語)

シミュレータの容量がある場所

場所は4つあり、それぞれ性質が違います。登録済みランタイムはCoreSimulatorがマウントするディスクイメージで、中身は通常/System/Library/AssetsV2の下か、/Library/Developer/CoreSimulator/Cryptex/Images/bundleのCryptexバンドルにあります。各シミュレータiPhoneの中のアプリとデータは~/Library/Developer/CoreSimulator/Devicesにあります。起動のたびに再構築される共有キャッシュはその隣です。ランタイムのインストールが失敗すると、/Library/Developer/CoreSimulator/Images/Inboxに作業用コピーが残ることがあります。

ある開発者のMacでは合計で約35 GB、うち16.9 GBはどのコマンドでも回収できない状態でした。作業の大半は、いま見ているのがどの山なのかを見分けることです。ディスク上のサイズを見ても、消せるかどうかはわかりません。

実際に容量が戻る方法

削除は、これらのファイルを管理している CoreSimulator を通して行います。CoreSimulator は登録情報を持っているので、その裏でファイルを消すと、もう存在しないランタイムが登録されたまま残ります。

  1. Xcode の「設定 → Components」(旧版では Platforms)を開き、テストに必要なランタイムを残します。使っていないものは、情報ボタンか削除ボタンから削除します。
  2. デバイスの消去・削除前に必要なアプリデータを保存し、シミュレータを終了します。xcrun simctl list devices で対象を特定し、xcrun simctl help erase または xcrun simctl help delete を確認します。どちらの操作でもデバイスのデータは消えます。
  3. 共有キャッシュの削除は、やらなくてもかまわない上級者向けの操作です。テストで使った dyld_shared_cache のサブコマンドはバージョンによって違うので、先に xcrun simctl runtime help を確認してください。空いた 3.04 GB も一時的なもので、シミュレータを起動すると必要なキャッシュが作り直されます。
  4. 空き容量を再確認し、残したシミュレータを起動します。容量が戻らなければ、強制削除を繰り返さずに、コンポーネント一覧とエラーを調べてください。登録が消えても、イメージ本体が消えたとは限りません。

削除できないものと、その理由

/System/Library/AssetsV2の下のランタイム本体はSIPのrestrictedフラグを持っています。xcrun simctl runtime delete <ランタイムUUID>は登録を解放してマウントを外しますが、ディスク上のフォルダは残り、空き容量は変わりません。同じ Mac で2回確認しました。

Inboxの作業用コピーはもっと不思議です。8.22 GBのものが2つあり、特別なフラグも拡張属性もACLもないので、SIPでは保護されていません。参照しているものもありません。hdiutilとdiskutilではマウントされておらず、ランタイム一覧のディスクイメージは0件でした。再起動しても残り、試したどの方法でも消せませんでした。xcrun simctl runtime add <ファイル> --move は、Apple 自身の権限付きデーモンにイメージの移動を頼むコマンドです。実行するとランタイムの取り込みには成功し、そのあと「--move was specified but unable to remove original file: (1) Operation not permitted」と表示します。シェルより強い権限を持つデーモンでもファイルを削除できないのですから、root で rm を実行しても結果は同じです。

これは Mac 1 台で、試した操作に限った結果です。どのバージョンでも永久に回収できないという意味ではありません。結果が違う場合は、現在の Xcode の管理方法と Apple の案内に従ってください。

あわせて見ておきたいもの

他のXcodeバージョンが残した古いMetalツールチェーンは1つ約670 MBで、同じ「コンポーネント」画面の他バージョン用の項目からしか削除できません。xcodebuild -deleteComponentは現在のコンポーネントにしか効かず、バージョンを指定できないため残骸には届きません。

DerivedDataとArchivesは別の場所にあり、規則も違います。DerivedDataは再構築できるのでXcodeを閉じていれば削除して構いません。Archivesには公開したビルドのクラッシュレポートを読むためのシンボルファイルが入っているので、最近のものは残してください。

DerivedData が大きい場合はこちら

Mintの扱い方

Mint はシミュレータの容量を、それぞれに使える操作と一緒に並べます。CoreSimulator 経由で削除できるランタイムには、その方法での削除を提示します。AssetsV2 の下の本体はサイズと理由を表示するだけで、チェックボックスは付けません。チェックできると、削除できるかのように見えてしまうからです。管理者パスワードを入れても削除を拒否された作業用コピーは記録されるので、同じファイルのためにパスワードを二度聞かれることはありません。

それでも、権限、実行中の処理、スキャン後の変更によって操作が拒否されることがあります。選んだ容量がすべて戻ったと思い込まず、結果を確認してください。

よくある質問

~/Library/Developer/CoreSimulatorを手で削除してもいいですか。

CoreSimulator フォルダごと手作業で消すのはやめてください。対象のデバイスかランタイムを特定し、必要なデータを保存してから、インストール済みの Xcode か simctl が用意している方法で削除します。

ランタイムを削除しても、サイズより少ない容量しか戻らないのはなぜですか。

ランタイムの登録、マウントされたイメージ、実体はそれぞれ別物です。Xcode のコンポーネント管理で削除したあとも、空き容量を確認してください。テストでは、登録は消えたのに実体が残ったケースがありました。

共有キャッシュを消しても安全ですか。

検証した Mac とツールのバージョンでは、すべてのシミュレータを終了した状態で削除できました。まずインストール済みの simctl runtime のヘルプを確認してください。必要なキャッシュは再作成されるため、空く容量は一時的です。

Inboxフォルダの.cxbdファイルはどうですか。

ランタイムのインストール時に残る作業用コピーの場合があります。検証したコピーは本文の操作では削除できませんでした。ただし、すべての .cxbd ファイルが未使用、または永久に回収不能という意味ではありません。現在の Xcode の管理機能と Apple のサポート情報を確認してください。

あなたのMacにどの種類があるか見てみる

無料のローカルスキャンでシミュレータ、保護されたファイル、開発データを区別してから判断できます。

無料でスキャン