ブログに戻る

9.8 GB の Xcode シミュレーターの中身:アプリが使っていたのは 350 MB

iOS シミュレーター 10 台の data フォルダーを測りました。アプリのコンテナーは 0.07〜0.34 GB でした。残りはロック画面のポスターのスナップショット、ログ、Siri のアセット、シンボルキャッシュが占めていました。

発行済み 2026年10月26日 著者 Vladimir Chemeris 読み取り時間 読了目安 3 分
XcodeSimulatorDeveloper Cleanup

私の QA 用シミュレーターは 9.8 GB を使っていましたが、原因は私のアプリではありませんでした。アプリのコンテナーは 0.34 GB です。残りを埋めていたのは iOS で、ロック画面のポスターのスナップショットのキャッシュ、システムログ、ダウンロードされた Siri と言語のアセット、シンボルキャッシュでした。Mac にある 10 台のシミュレーターを測りましたが、どれもアプリの割合は小さいままでした。

基本ルール:シミュレーターは消去する前に測り、そのうえで xcrun simctl で消去または削除します。data フォルダーの中のフォルダーを手作業で削除しないでください。

簡潔な回答

  1. du -sh ~/Library/Developer/CoreSimulator/Devices/* | sort -h | tail で容量の大きいシミュレーターを見つける。
  2. xcrun simctl list devices で各 UDID と名前を対応させる。
  3. du -h -d 4 ~/Library/Developer/CoreSimulator/Devices/<UDID>/data | sort -h | tail -20 で 1 台の中身を見る。
  4. その状態がもう不要なら、xcrun simctl shutdown <UDID> で停止してから、xcrun simctl erase <UDID> で消去する。
  5. まったく使わないシミュレーターは xcrun simctl delete <UDID> で削除する。

1 台のシミュレーターの 9.8 GB の内訳

最初の測定では、1 台の QA 用シミュレーターが Devices フォルダーの半分を占めていました。読者から中身を尋ねられたので、その data フォルダーを開きました。デバイスは iOS 27.0 の iPhone 18 Pro シミュレーターで、測定中は起動していました。

QA 用シミュレーターの 9.81 GB の data フォルダーを示す棒グラフ:PRBPosterExtensionDataStore 2.88 GB、var/db/diagnostics 2.07 GB、private/var/MobileAsset 2.03 GB、coresymbolicationd 1.13 GB、var/db/uuidtext 0.49 GB、その他すべて 0.87 GB、全アプリを含む Containers 0.34 GB
QA 用シミュレーターの data フォルダー。すべてのアプリのコンテナーを合わせても、いちばん短い棒です。
data の中のフォルダーサイズ
Library/Application Support/PRBPosterExtensionDataStore2.88 GB
var/db/diagnostics2.07 GB
private/var/MobileAsset2.03 GB
Library/Caches/com.apple.coresymbolicationd1.13 GB
var/db/uuidtext0.49 GB
Containers、すべてのアプリのコンテナー0.34 GB
data フォルダー全体9.81 GB

Containers には、インストール済みのアプリ、そのデータコンテナー、App Group、拡張機能のデータが入っています。私のアプリとそのテストが書き込んだものは、すべてこの 0.34 GB に収まります。

10 台のシミュレーターの比較

私の Mac にはシミュレーターが 53 台あります。そのうち 43 台はそれぞれ約 20 MB で、一度もアプリを実行していないデバイスのサイズです。残りの 10 台が、私が使っているものです。サイズの単位は GB です。

シミュレーター 10 台の data フォルダーを示す積み上げ棒グラフ。サイズは 0.63〜9.81 GB です。アプリのコンテナーは各デバイスで 0.07〜0.34 GB です。ポスターストアが大きいのは、起動中だった iOS 27.0 の 2 台だけです。残りの大部分はシステムログと MobileAsset が占めています。
シミュレーター 10 台を、アプリのコンテナー、ポスターストア、システムログ(diagnostics と uuidtext)、MobileAsset、その他に分けたものです。点の付いたデバイスは起動中でした。
シミュレーターiOS状態dataポスターストアdiagnosticsMobileAssetContainers
QA 用デバイス、iPhone 18 Pro27.0起動中9.812.882.072.030.34
iPad Pro 13-inch (M5)27.0起動中4.591.650.211.700.16
iPhone 1618.6停止中3.140.031.220.790.24
iPhone SE (3rd generation)26.5起動中2.620.040.361.000.31
iPhone 11 Pro26.5停止中2.360.000.151.210.12
iPhone 16、ドッグフーディング用ビルド18.6停止中2.030.030.360.900.11
iPhone 16 Pro Max18.6起動中1.580.050.050.900.15
iPhone 16 Pro Max27.0停止中1.530.170.020.170.16
iPad Pro 11-inch (M4)18.6停止中1.470.030.090.780.07
iPhone SE (3rd generation)、2 つ目のアプリ18.6停止中0.630.030.010.210.08

目立つパターンが 3 つあります。

  • Containers は一度も 0.34 GB を超えませんでした。 私がテストしているアプリは、システムのデータに比べれば誤差の範囲です。
  • MobileAsset はどのシミュレーターにもあります。 サイズは 0.17〜2.03 GB でした。
  • ポスターストアが大きくなったのは、起動中の iOS 27.0 のデバイス 2 台だけでした。 iOS 18.6 と 26.5 では 0.05 GB 未満にとどまっています。2 台だけで iOS 27.0 のせいとは言えませんが、差は大きいです。

各フォルダーの中身

PRBPosterExtensionDataStore:ロック画面のポスターのスナップショット

このフォルダー名は、GalleryCache や SnapshotCache.cachedb とともに、iOS 27.0 シミュレーターランタイムの非公開の PosterBoard.framework に含まれる文字列です。ランタイムには、識別子が com.apple.PosterBoard のシステムアプリ PosterBoard.app も入っています。フォルダーの中のサブフォルダーには、Apple のポスター拡張機能の ID が付いています。WeatherPoster、EmojiPoster、PhotosPosterProvider、KaleidoscopePoster などです。Apple のカスタムのロック画面を作成するガイドでは、ロック画面の壁紙として天気、天文、写真が挙げられています。

QA 用デバイスでは、このフォルダーに 6,776 個のファイルがありました。そのうち 2,911 個は 1 つ約 1 MB の .atx スナップショットファイルで、名前は Composite.atx、Background.atx、Foreground.atx、Floating.atx です。合計は 2.9 GB でした。iPad では、939 個のスナップショットファイルすべての変更日が測定当日だったので、デバイスは動いているあいだにこのキャッシュを書き込んでいます。何が原因で増えるのかは私にはわかりませんし、Apple も文書化していません。

var/db/diagnostics と var/db/uuidtext:システムログ

これらのフォルダーには統合ログシステムのデータが入っています。man log は、ログストアを /var/db/diagnostics にあるようなシステムのログデータベースとして説明しており、その隣には /var/db/uuidtext のような uuidtext ディレクトリがあります。各シミュレーターは自分の data フォルダーの中に独自のコピーを持っています。私のデバイスでは 0.01〜2.07 GB で、QA 用デバイスではさらに uuidtext が 0.49 GB ありました。

private/var/MobileAsset:iOS がダウンロードするアセット

QA 用デバイスでは、AssetsV2 に Siri と言語機能の名前が付いたアセットセットが入っていました。

アセットセットサイズ
com_apple_MobileAsset_UAF_Siri_Understanding805 MB
com_apple_MobileAsset_UAF_LinguisticData409 MB
com_apple_MobileAsset_UAF_Siri_TextToSpeech289 MB
com_apple_MobileAsset_UAF_SearchQueryUnderstanding106 MB
com_apple_MobileAsset_TTSAXResourceModelAssets96 MB

これらはシミュレーターが自分でダウンロードします。Apple Developer Forums では、ある開発者が iOS 26.5 で同じフォルダーが数十 GB 増え、nsurlsessiond がダウンロードしていたと報告しています。このスレッドに回答はありません。

com.apple.coresymbolicationd:シンボルキャッシュ

coresymbolicationd の man ページでは、OS のライブラリ用の「daemon to manage debug symbols cache」(デバッグシンボルのキャッシュを管理するデーモン)と説明されています。QA 用デバイスでは 1.13 GB で、ほかのデバイスではほとんどありませんでした。

容量の大きいシミュレーターをどうするか

私はこれらのフォルダーを開いてファイルを削除することはしません。Apple は文書化しておらず、中途半端に削除したポスターストアやログストアがシミュレーターにどう影響するかは私にもわかりません。サポートされているツールは、デバイス全体を対象に動作します。

  • xcrun simctl erase <UDID> は内容と設定を消去し、デバイスは残します。先にデバイスを停止してください。
  • xcrun simctl delete <UDID> はデバイスを削除します。
  • xcrun simctl delete unavailable は、現在の Xcode SDK がサポートしなくなったデバイスを削除します。

消去すると、インストール済みのアプリ、そのデータ、上で挙げたシステムフォルダーがすべて消えるので、アプリを入れ直してログインし直すことになります。バグやテストのためにまだ状態が必要なデバイスは残してください。ポスターストア、ログ、アセットはデバイスを再び動かすとまた増えることがあるので、消去で得られるのは空き容量で、増加そのものが直るわけではありません。

StorageRadar の Developer caches 画面:Safe to clean の下に 41.8 GB の Xcode DerivedData があり、次のビルドで作り直されるという注記が付いています。Review before cleaning の下には 34.6 GB の CoreSimulator Data があります。
StorageRadar の Dev Cleanup では、CoreSimulator Data は Review before cleaning の下にあり、次のビルドで作り直される DerivedData とは分けられています。以前のスキャンのスクリーンショットなので、サイズはこの記事の数値と異なります。

測定方法

2026 年 10 月 26 日に、M4 搭載の Mac mini、macOS 27.0.1、Xcode 27.1 の環境で測定しました。どのコマンドもデータを読み取るだけです。

xcrun simctl list devices --json
du -sk ~/Library/Developer/CoreSimulator/Devices/<UDID>/data
du -k -d 4 ~/Library/Developer/CoreSimulator/Devices/<UDID>/data | sort -rn | head -20
find ~/Library/Developer/CoreSimulator/Devices/<UDID>/data/Library/Application\ Support/PRBPosterExtensionDataStore -name '*.atx' | wc -l

サイズは du の値を 1024 で 2 回割ったもので、du -h が表示するのと同じ 2 進単位です。各行のフォルダーは重複していませんが、Containers だけはそのサブフォルダーを含みます。起動中のシミュレーターは書き込みを続けるので、数値は時間ごとに変わります。

まとめ

大きなシミュレーターの中身は、たいていあなたのアプリではなく iOS のデータです。私の Mac では、アプリのコンテナーはデバイスあたり 0.07〜0.34 GB で、ポスターのスナップショット、ログ、ダウンロードされたアセット、シンボルキャッシュは最大 9.5 GB を占めていました。data フォルダーを測り、状態が必要なデバイスは残し、それ以外は simctl で消去または削除してください。

著者について

Vladimir Chemeris

StorageRadar 開発者

Vladimir Chemeris は、プライバシー重視の macOS ストレージ分析アプリ StorageRadar を開発しています。確認してから削除する流れ、開発者向けストレージ、前後比較を重視しています。

よくある質問

アプリは小さいのに、iOS シミュレーターがこれほど大きいのはなぜですか?

アプリはその一部にすぎません。私の QA 用シミュレーターでは、9.8 GB のうちアプリのコンテナーは 0.34 GB でした。残りは iOS 自体のデータで、ロック画面のポスターのスナップショットのキャッシュ、システムログ、ダウンロードされた Siri と言語のアセット、シンボルキャッシュです。

iOS シミュレーターの PRBPosterExtensionDataStore とは何ですか?

各シミュレーターの data フォルダーの中にあるフォルダーで、ロック画面のポスターを担う iOS のコンポーネント PosterBoard のものです。この名前は、iOS 27.0 ランタイムの非公開の PosterBoard.framework に含まれる文字列です。私の Mac では 1 台のシミュレーターで 2.9 GB あり、そのほとんどが .atx のスナップショットファイルでした。

シミュレーターの data フォルダーの中のフォルダーを手作業で削除できますか?

私はしません。Apple はこれらのフォルダーを文書化していないので、何が壊れるかは誰にも言えません。シミュレーターの内容と設定を消去するには xcrun simctl erase を、デバイスを削除するには xcrun simctl delete を使ってください。

シミュレーターを消去すると iOS ランタイムも削除されますか?

いいえ。erase はデバイスの data フォルダーを消去し、デバイスとそのランタイムは残します。ランタイムは別のディスクイメージで、xcrun simctl runtime delete で削除します。

どのフォルダーがどのシミュレーターのものですか?

~/Library/Developer/CoreSimulator/Devices の中のフォルダーは、UDID を名前にしています。xcrun simctl list devices を実行すると、各 UDID とデバイス名、ランタイム、状態の対応がわかります。

出典と参考文献

すべてのシミュレーターを、ほかの開発者ストレージと並べて見る。

StorageRadar の Disk Map では、各シミュレーターのフォルダーの中まで掘り下げられます。Dev Cleanup は CoreSimulator を Review before cleaning の下に表示し、何かを削除する前に Dry Run を実行します。