Мой QA-симулятор занимал 9,8 ГБ, и дело было не в моём приложении. Контейнеры приложений в нём заняли 0,34 ГБ. Остальное заполнила iOS: кэш снимков постеров экрана блокировки, системный лог, скачанные ассеты Siri и языковые ассеты, а также кэш символов. Я измерил десять симуляторов на своём Mac, и доля приложений на каждом оставалась небольшой.
Главное правило: измерьте симулятор, прежде чем стирать его, а затем сотрите или удалите его через xcrun simctl. Не удаляйте вручную папки внутри его папки data.
Краткий ответ
- Найдите тяжёлые симуляторы:
du -sh ~/Library/Developer/CoreSimulator/Devices/* | sort -h | tail. - Сопоставьте каждый UDID с именем командой
xcrun simctl list devices. - Загляните внутрь одного из них:
du -h -d 4 ~/Library/Developer/CoreSimulator/Devices/<UDID>/data | sort -h | tail -20. - Если его состояние вам больше не нужно, выключите его и сотрите:
xcrun simctl shutdown <UDID>, затемxcrun simctl erase <UDID>. - Симуляторы, которыми вы никогда не пользуетесь, удалите командой
xcrun simctl delete <UDID>.
Куда ушли 9,8 ГБ в одном симуляторе
В моём первом замере один QA-симулятор занимал половину папки Devices. Читатель спросил, что у него внутри, и я открыл его папку data. Это симулятор iPhone 18 Pro на iOS 27.0, и во время замера он был запущен.
Папка внутри data | Размер |
|---|---|
Library/Application Support/PRBPosterExtensionDataStore | 2,88 ГБ |
var/db/diagnostics | 2,07 ГБ |
private/var/MobileAsset | 2,03 ГБ |
Library/Caches/com.apple.coresymbolicationd | 1,13 ГБ |
var/db/uuidtext | 0,49 ГБ |
Containers, все контейнеры приложений | 0,34 ГБ |
Вся папка data | 9,81 ГБ |
В Containers лежат установленные приложения, их контейнеры данных, группы приложений и данные расширений. Всё, что записали моё приложение и его тесты, укладывается в эти 0,34 ГБ.
Десять симуляторов рядом
На моём Mac 53 симулятора. Сорок три из них занимают примерно по 20 МБ: столько весит устройство, на котором ни разу не запускали приложение. Остальными десятью я пользуюсь. Размеры указаны в ГБ.
diagnostics плюс uuidtext), MobileAsset и всё остальное. Точкой отмечены устройства, которые были запущены.| Симулятор | iOS | Состояние | data | Хранилище постеров | diagnostics | MobileAsset | Containers |
|---|---|---|---|---|---|---|---|
| QA-устройство, iPhone 18 Pro | 27.0 | Запущен | 9,81 | 2,88 | 2,07 | 2,03 | 0,34 |
| iPad Pro 13-inch (M5) | 27.0 | Запущен | 4,59 | 1,65 | 0,21 | 1,70 | 0,16 |
| iPhone 16 | 18.6 | Выключен | 3,14 | 0,03 | 1,22 | 0,79 | 0,24 |
| iPhone SE (3rd generation) | 26.5 | Запущен | 2,62 | 0,04 | 0,36 | 1,00 | 0,31 |
| iPhone 11 Pro | 26.5 | Выключен | 2,36 | 0,00 | 0,15 | 1,21 | 0,12 |
| iPhone 16, dogfood-сборка | 18.6 | Выключен | 2,03 | 0,03 | 0,36 | 0,90 | 0,11 |
| iPhone 16 Pro Max | 18.6 | Запущен | 1,58 | 0,05 | 0,05 | 0,90 | 0,15 |
| iPhone 16 Pro Max | 27.0 | Выключен | 1,53 | 0,17 | 0,02 | 0,17 | 0,16 |
| iPad Pro 11-inch (M4) | 18.6 | Выключен | 1,47 | 0,03 | 0,09 | 0,78 | 0,07 |
| iPhone SE (3rd generation), второе приложение | 18.6 | Выключен | 0,63 | 0,03 | 0,01 | 0,21 | 0,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_Understanding | 805 МБ |
com_apple_MobileAsset_UAF_LinguisticData | 409 МБ |
com_apple_MobileAsset_UAF_Siri_TextToSpeech | 289 МБ |
com_apple_MobileAsset_UAF_SearchQueryUnderstanding | 106 МБ |
com_apple_MobileAsset_TTSAXResourceModelAssets | 96 МБ |
Симулятор скачивает их сам. Один разработчик на 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 больше не поддерживает.
При стирании пропадают установленные приложения, их данные и все системные папки, о которых шла речь выше, так что приложение придётся установить заново и снова войти в аккаунт. Оставьте устройства, состояние которых вам ещё нужно для бага или теста. Хранилище постеров, лог и ассеты могут вырасти снова, как только устройство опять заработает, поэтому стирание освобождает место, но не устраняет сам рост.
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.
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 с именем устройства, рантаймом и состоянием.