Вернуться в блог

Что внутри симулятора Xcode на 9,8 ГБ: приложения заняли 350 МБ

Я измерил папку data десяти симуляторов iOS. Контейнеры приложений заняли от 0,07 до 0,34 ГБ. Остальное заняли снимки постеров экрана блокировки, логи, ассеты Siri и кэши символов.

Опубликовано 26 октября 2026 г. Автор Vladimir Chemeris Время чтения 5 мин чтения
XcodeSimulatorDeveloper Cleanup

Мой QA-симулятор занимал 9,8 ГБ, и дело было не в моём приложении. Контейнеры приложений в нём заняли 0,34 ГБ. Остальное заполнила iOS: кэш снимков постеров экрана блокировки, системный лог, скачанные ассеты Siri и языковые ассеты, а также кэш символов. Я измерил десять симуляторов на своём Mac, и доля приложений на каждом оставалась небольшой.

Главное правило: измерьте симулятор, прежде чем стирать его, а затем сотрите или удалите его через xcrun simctl. Не удаляйте вручную папки внутри его папки data.

Краткий ответ

  1. Найдите тяжёлые симуляторы: du -sh ~/Library/Developer/CoreSimulator/Devices/* | sort -h | tail.
  2. Сопоставьте каждый UDID с именем командой xcrun simctl list devices.
  3. Загляните внутрь одного из них: du -h -d 4 ~/Library/Developer/CoreSimulator/Devices/<UDID>/data | sort -h | tail -20.
  4. Если его состояние вам больше не нужно, выключите его и сотрите: xcrun simctl shutdown <UDID>, затем xcrun simctl erase <UDID>.
  5. Симуляторы, которыми вы никогда не пользуетесь, удалите командой xcrun simctl delete <UDID>.

Куда ушли 9,8 ГБ в одном симуляторе

В моём первом замере один QA-симулятор занимал половину папки Devices. Читатель спросил, что у него внутри, и я открыл его папку data. Это симулятор iPhone 18 Pro на iOS 27.0, и во время замера он был запущен.

Столбчатая диаграмма папки data QA-симулятора размером 9,81 ГБ: PRBPosterExtensionDataStore 2,88 ГБ, var/db/diagnostics 2,07 ГБ, private/var/MobileAsset 2,03 ГБ, coresymbolicationd 1,13 ГБ, var/db/uuidtext 0,49 ГБ, всё остальное 0,87 ГБ и Containers со всеми приложениями 0,34 ГБ
Папка data QA-симулятора. Все контейнеры приложений вместе дают самый короткий столбец.
Папка внутри dataРазмер
Library/Application Support/PRBPosterExtensionDataStore2,88 ГБ
var/db/diagnostics2,07 ГБ
private/var/MobileAsset2,03 ГБ
Library/Caches/com.apple.coresymbolicationd1,13 ГБ
var/db/uuidtext0,49 ГБ
Containers, все контейнеры приложений0,34 ГБ
Вся папка data9,81 ГБ

В Containers лежат установленные приложения, их контейнеры данных, группы приложений и данные расширений. Всё, что записали моё приложение и его тесты, укладывается в эти 0,34 ГБ.

Десять симуляторов рядом

На моём Mac 53 симулятора. Сорок три из них занимают примерно по 20 МБ: столько весит устройство, на котором ни разу не запускали приложение. Остальными десятью я пользуюсь. Размеры указаны в ГБ.

Составная столбчатая диаграмма папок data десяти симуляторов, от 0,63 до 9,81 ГБ. Контейнеры приложений занимают от 0,07 до 0,34 ГБ на каждом устройстве. Хранилище постеров велико только на двух запущенных устройствах с iOS 27.0. Большую часть остального занимают системный лог и MobileAsset.
Десять симуляторов, разбитые на контейнеры приложений, хранилище постеров, системный лог (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, dogfood-сборка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), второе приложение18.6Выключен0,630,030,010,210,08

Выделяются три закономерности:

  • Containers ни разу не превысили 0,34 ГБ. Приложения, которые я тестирую, на фоне системных данных составляют погрешность округления.
  • MobileAsset есть на каждом симуляторе. Размер этой папки был от 0,17 до 2,03 ГБ.
  • Хранилище постеров разрослось только на двух запущенных устройствах с iOS 27.0. На iOS 18.6 и 26.5 оно оставалось меньше 0,05 ГБ. Двух устройств мало, чтобы винить iOS 27.0, но разрыв большой.

Что хранит каждая папка

PRBPosterExtensionDataStore: снимки постеров экрана блокировки

Имя этой папки, как и GalleryCache и SnapshotCache.cachedb, встречается строкой в приватном PosterBoard.framework рантайма симулятора iOS 27.0. В рантайме есть и системное приложение PosterBoard.app с идентификатором com.apple.PosterBoard. Подпапки внутри называются по идентификаторам расширений постеров Apple: WeatherPoster, EmojiPoster, PhotosPosterProvider, KaleidoscopePoster и другие. В руководстве Apple по настройке собственного экрана блокировки среди обоев экрана блокировки названы «Погода», «Астрономия» и фотографии.

На моём QA-устройстве в папке было 6776 файлов. Из них 2911 были файлами снимков .atx примерно по 1 МБ каждый, с именами Composite.atx, Background.atx, Foreground.atx и Floating.atx, и вместе они заняли 2,9 ГБ. На iPad у всех 939 файлов снимков дата изменения совпадала с днём замера, значит, устройство пишет этот кэш, пока работает. Я не знаю, из-за чего он растёт, и Apple это не документирует.

var/db/diagnostics и var/db/uuidtext: системный лог

В этих папках лежат данные унифицированной системы логирования. man log описывает хранилище логов как системную базу данных логирования вроде той, что лежит в /var/db/diagnostics, с каталогом uuidtext вроде /var/db/uuidtext рядом с ней. Каждый симулятор держит собственную копию внутри своей папки data. На моих устройствах она занимала от 0,01 до 2,07 ГБ, плюс 0,49 ГБ в uuidtext на QA-устройстве.

private/var/MobileAsset: ассеты, которые скачивает iOS

На QA-устройстве в AssetsV2 лежали наборы ассетов, названные по функциям Siri и языковым функциям:

Набор ассетовРазмер
com_apple_MobileAsset_UAF_Siri_Understanding805 МБ
com_apple_MobileAsset_UAF_LinguisticData409 МБ
com_apple_MobileAsset_UAF_Siri_TextToSpeech289 МБ
com_apple_MobileAsset_UAF_SearchQueryUnderstanding106 МБ
com_apple_MobileAsset_TTSAXResourceModelAssets96 МБ

Симулятор скачивает их сам. Один разработчик на Apple Developer Forums сообщил, что на iOS 26.5 та же папка разрасталась на десятки гигабайт за счёт загрузок nsurlsessiond. Ответа в теме нет.

com.apple.coresymbolicationd: кэш символов

Справка coresymbolicationd называет его «демоном для управления кэшем отладочных символов» библиотек ОС. На QA-устройстве он занял 1,13 ГБ, а на остальных почти ничего.

Что я делаю с тяжёлым симулятором

Я не открываю эти папки и не удаляю из них файлы. Apple их не документирует, и я не могу сказать, что станет с симулятором, если удалить хранилище постеров или хранилище логов наполовину. Поддерживаемые инструменты работают с устройством целиком:

  • xcrun simctl erase <UDID> стирает содержимое и настройки, а само устройство оставляет. Сначала выключите устройство.
  • xcrun simctl delete <UDID> удаляет устройство.
  • xcrun simctl delete unavailable удаляет устройства, которые текущий SDK Xcode больше не поддерживает.

При стирании пропадают установленные приложения, их данные и все системные папки, о которых шла речь выше, так что приложение придётся установить заново и снова войти в аккаунт. Оставьте устройства, состояние которых вам ещё нужно для бага или теста. Хранилище постеров, лог и ассеты могут вырасти снова, как только устройство опять заработает, поэтому стирание освобождает место, но не устраняет сам рост.

Экран Developer caches в StorageRadar: Xcode DerivedData на 41,8 ГБ в группе Safe to clean с пометкой, что следующая сборка пересоздаст эту папку, и CoreSimulator Data на 34,6 ГБ в группе Review before cleaning
В Dev Cleanup в StorageRadar CoreSimulator Data стоит в группе Review before cleaning, отдельно от DerivedData, которую пересоздаст следующая сборка. Скриншот сделан при более раннем сканировании, поэтому размеры отличаются от приведённых в статье.

Как я измерял

Я измерял 26 октября 2026 года на Mac mini с M4, 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: это те же двоичные единицы, которые выводит du -h. Папки в каждой строке не пересекаются, только Containers включает свои подпапки. Запущенные симуляторы продолжают писать на диск, поэтому их цифры меняются от часа к часу.

Итог

Большой симулятор обычно хранит данные iOS, а не вашего приложения. На моём Mac контейнеры приложений занимали от 0,07 до 0,34 ГБ на устройство, а снимки постеров, логи, скачанные ассеты и кэши символов доходили до 9,5 ГБ. Измерьте папку data, оставьте устройства, состояние которых вам нужно, а остальные сотрите или удалите через simctl.

Об авторе

Vladimir Chemeris

Основатель, StorageRadar

Владимир Чемерис разрабатывает StorageRadar — macOS-приложение для анализа хранилища с упором на приватность, очистку с предварительным просмотром, хранилище разработчика и сравнение до и после.

FAQ

Почему симулятор iOS занимает так много места, если приложение у меня маленькое?

Ваше приложение составляет лишь малую часть этого объёма. На моём QA-симуляторе контейнеры приложений заняли 0,34 ГБ из 9,8 ГБ. Остальное приходилось на саму iOS: кэш снимков постеров экрана блокировки, системный лог, скачанные ассеты Siri и языковые ассеты, а также кэш символов.

Что такое PRBPosterExtensionDataStore в iOS Simulator?

Это папка внутри папки data каждого симулятора. Она принадлежит PosterBoard, компоненту iOS, на котором держатся постеры экрана блокировки. Её имя встречается строкой в приватном PosterBoard.framework рантайма iOS 27.0. На моём Mac в ней было 2,9 ГБ на одном симуляторе, почти всё это файлы снимков .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 с именем устройства, рантаймом и состоянием.

Источники и ссылки

Посмотрите на каждый симулятор рядом с остальным хранилищем разработчика.

Disk Map в StorageRadar позволяет заглянуть в папку каждого симулятора. Dev Cleanup показывает CoreSimulator в группе Review before cleaning и запускает Dry Run до того, как что-либо будет удалено.