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

Xcode Simulator занимает место на Mac? Что чистить в первую очередь

Разберитесь, чем отличаются рантаймы симулятора от данных симулятора, что безопасно удалять и как освободить место на Mac, не сломав настройку iOS-разработки.

Опубликовано 1 апреля 2026 г. Автор StorageRadar Team Время чтения 7 мин чтения Обновлено 5 апреля 2026 г.
XcodeSimulatorDeveloper Cleanup

Если Xcode Simulator занимает место на вашем Mac, сначала разделите рантаймы симулятора и данные устройств симулятора, прежде чем что-то удалять. Начните с проверки того, что недоступно, что неактивно и что ещё нужно для тестирования, потому что очистка симулятора становится рискованной, когда вы относитесь к каждой папке от Apple как к одноразовому кэшу.

Это ошибка, которую допускают разработчики, узнав одно правило очистки и применяя его везде. DerivedData — это одно. Рантаймы симулятора и состояние устройств — совсем другое.

Освободить место можно. Просто последствия менее однородны.

Главное правило: очищайте хранилище симулятора послойно. Сначала удаляйте недоступные устройства, очищайте данные устройств, только когда намерены их сбросить, и удаляйте рантаймы, только когда данная версия ОС больше не нужна.

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

  1. Проверьте, в чём реальный след: рантаймы симулятора, данные устройств симулятора или оба.
  2. Используйте xcrun simctl list devices и xcrun simctl list runtimes, прежде чем что-либо удалять.
  3. Удаляйте недоступные устройства сначала с помощью xcrun simctl delete unavailable, если они появляются в разделе недоступных.
  4. Используйте erase, только когда хотите сбросить содержимое и настройки устройства симулятора.
  5. Удаляйте рантаймы, только когда уверены, что данная платформенная версия больше не нужна для сборок, превью или тестирования.
  6. Если хранилище от Apple шире, чем только симуляторы, проверяйте DerivedData, Archives и CoreSimulator вместе, а не угадывайте по одной папке.
StorageRadar CoreSimulator cleanup review showing selected simulator devices, dry run total, and confirmation gate before apply
Очистка симулятора безопаснее, когда выделение, итог сухого прогона и шаг подтверждения остаются явными, а не скрытыми за широким сбросом.

Что хранят симуляторы Xcode и почему это накапливается

Хранилище симулятора — это не что-то одно. Это несколько слоёв, которые накапливаются вместе.

В общих чертах хранилище симулятора Xcode обычно включает:

  • образы рантаймов для разных версий платформ iOS;
  • созданные устройства симулятора для разных моделей iPhone и iPad;
  • данные приложений, настройки и состояние внутри этих симуляторов для каждого устройства;
  • рабочие данные разработки от Apple, которые растут при переключении SDK, типов устройств и версий Xcode.

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

Паттерн роста нормален:

  • вы устанавливаете новый Xcode или SDK;
  • появляются новые рантаймы;
  • создаются новые устройства симулятора;
  • внутри них накапливаются приложения, тестовые данные и настройки;
  • старые устройства становятся недоступными после изменений SDK или обновлений Xcode;
  • ничего не проверяется месяцами, потому что на машине ещё достаточно свободного места.

А потом однажды хранилище симулятора становится главной историей, а не просто деталью.

Рантаймы симулятора и данные симулятора: в чём разница?

Это самое важное различие.

Инструментарий simctl от Apple разделяет операции с рантаймами и операции с устройствами. Уже одно это говорит о том, что модель очистки многослойная: устройства — не то же самое, что рантаймы, а очистка устройства — не то же самое, что удаление образа рантайма.

СлойЧто представляетТипичное действие очисткиОсновной компромисс
Рантаймы симулятораОбразы ОС для загрузки конкретных платформенных версийsimctl runtime delete для рантайма, который действительно больше не нуженВы теряете этот рантайм для будущего использования симулятора, пока не добавите его заново
Устройства симулятораСозданные экземпляры симуляторов для конкретных моделей устройствsimctl delete <device> или delete unavailableЭкземпляр устройства исчезает
Содержимое и настройки устройствУстановленные приложения, данные приложений, настройки и состояние внутри устройстваsimctl erase <device>Устройство остаётся, но содержимое и настройки сбрасываются

Поэтому общие заявления вроде «просто очистите CoreSimulator» — слабый совет. Они сливают разные последствия очистки в одно эмоциональное действие.

Как DerivedData вписывается в картину

DerivedData смежна, но это не та же проблема.

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

Если давление исходит в основном от сгенерированного вывода сборки, правильное руководство — Xcode DerivedData занимает слишком много места на Mac? Что чистить в первую очередь. Если давление — в основном от образов рантаймов и состояния симулятора, оставайтесь с рабочим процессом для симулятора.

Как проверить, сколько места занимают симуляторы

Первый шаг — инспекция, а не удаление.

Используйте собственный инструментарий Apple, чтобы увидеть, какие устройства и рантаймы реально существуют:

xcrun simctl list devices
xcrun simctl list runtimes

Если хотите оценить общий след хранилища от Apple на диске, можно также сравнить основные папки напрямую:

du -sh ~/Library/Developer/CoreSimulator
du -sh ~/Library/Developer/Xcode/DerivedData
du -sh ~/Library/Developer/Xcode/Archives

Это важно, потому что самая большая папка от Apple — не всегда та, которую вы предполагали. Иногда DerivedData — основная проблема. Иногда CoreSimulator незаметно обгоняет её.

Что искать в первую очередь

  • устройства в разделе Unavailable;
  • рантаймы для версий ОС, которые вы больше не тестируете;
  • много созданных устройств через несколько поколений рантаймов;
  • тяжёлое состояние симуляторов на машине, которая не чистилась с момента нескольких обновлений Xcode;
  • большая папка CoreSimulator, которая не соответствует вашим текущим потребностям в тестировании.

Именно здесь очистка начинает становиться рациональной, а не реактивной.

Безопасно ли удалять рантаймы симулятора на Mac?

Иногда, но это не самый безопасный первый шаг.

Справка simctl runtime от Apple прямо говорит, что образы рантаймов — самостоятельные управляемые объекты. Удаление рантайма отличается от очистки содержимого симулятора. Оно также отличается от удаления недоступного устройства.

Это значит, что удаление рантайма оправдано, когда:

  • данная версия iOS больше не нужна для тестирования;
  • вы перешли к более новому поколению Xcode или SDK;
  • рантайм достаточно неиспользуем, что место ценнее удобства;
  • вы предварительно проверили список рантаймов и точно знаете, что удаляете.

Это хуже, когда:

  • активный проект всё ещё нацелен на это семейство рантаймов;
  • превью SwiftUI, шаги воспроизведения багов или регрессионное тестирование всё ещё зависят от него;
  • вы собираетесь демонстрировать или отлаживать проблему на старой цели;
  • вы удаляете, ориентируясь только на размер, а не на реальные потребности тестирования.

Лучший первый шаг: уберите очевидный мёртвый груз

Самая безопасная очистка симулятора часто начинается с недоступных устройств.

Apple документирует это прямо в simctl delete: псевдоним unavailable удаляет устройства, не поддерживаемые текущим SDK Xcode.

xcrun simctl delete unavailable

Это не универсальное решение, но это один из самых чистых первых проходов, потому что он нацелен на устройства, уже помеченные как неподдерживаемые вашим текущим контекстом SDK.

Очистка данных симулятора без потери среды разработки

Здесь разработчики часто используют не тот инструмент.

Если проблема — устаревшие данные приложений или раздутого состояния устройств внутри симуляторов, вам может вообще не нужно удалять рантаймы. Может быть достаточно просто сбросить устройства симулятора.

Справка simctl erase от Apple определяет erase как стирание содержимого и настроек устройства:

xcrun simctl erase <device>

Это операция сброса, а не операция удаления рантайма.

Для чего полезен erase

  • очистка состояния приложения внутри симулятора;
  • сброс тестовых окружений;
  • удаление раздутого содержимого на уровне устройства без удаления самого образа рантайма;
  • сохранение рабочего процесса устройства при сбросе накопленного состояния.

Чем erase не является

  • не командой очистки рантайма;
  • не командой очистки DerivedData;
  • не полноценной заменой проверки того, какие устройства и рантаймы вам реально ещё нужны.

Это различие — вся история очистки симулятора: стирание устройства, удаление устройства и удаление рантайма — три разных решения.

Как управлять хранилищем симулятора в будущем

Практическая цель — не «никогда не позволять симуляторам расти». Практическая цель — «не позволять хранилищу симулятора становиться невидимым».

Используйте такой ритм проверки:

  1. Перечисляйте устройства и рантаймы после крупных изменений Xcode или SDK.
  2. Удаляйте недоступные устройства, когда они появляются.
  3. Сбрасывайте устаревшие устройства симулятора, когда проблема в состоянии устройств, а не в инвентаре рантаймов.
  4. Проверяйте использование рантаймов перед удалением версии ОС целиком.
  5. Сравнивайте CoreSimulator, DerivedData и Archives вместе, когда хранилище от Apple начинает расти.

Так решение об очистке остаётся привязанным к слою, который реально дорог.

Лучшая ментальная модель для хранилища от Apple

  • DerivedData — это в основном сгенерированный вывод сборки.
  • Archives сохраняют артефакты поставки и историю сборок.
  • CoreSimulator смешивает поддержку рантаймов с состоянием устройств симулятора.
  • самая безопасная очистка зависит от того, какой слой велик, а не просто от того, какая папка видна.

Как только вы начинаете мыслить слоями, очистка симулятора становится гораздо менее хаотичной.

Почему очистка разработчика работает лучше, когда она учитывает экосистемы

Если вы используете только Finder, папка от Apple на 20 или 30 ГБ выглядит как одна очевидная цель очистки. Это не так.

Файловый браузер может показать, что CoreSimulator занимает много места. Но не может сказать, является ли реально освобождаемое пространство:

  • неподдерживаемыми устройствами;
  • содержимым симуляторов, которое можно сбросить;
  • рантаймами, которые больше не нужны;
  • или соседним профилем Xcode, который просто оказался рядом.

Поэтому очистка симулятора должна быть частью очистки разработчика, а не универсальной очистки файлов.

Если ваша реальная проблема — «симуляторы плюс DerivedData плюс другое хранилище разработки от Apple», более широкий профильный рабочий процесс гораздо полезнее, чем погоня за одним путём за раз.

Итог

Если Xcode Simulator занимает место на вашем Mac, не относитесь к CoreSimulator как к одноразовому ведру кэша.

Сначала проверьте устройства и рантаймы. Удаляйте недоступные устройства как чистый первый проход, используйте erase, только когда хотите сбросить содержимое и настройки симулятора, и удаляйте рантаймы, только когда действительно больше не нужна эта версия ОС.

Это более безопасный путь очистки: разделяйте образы рантаймов и состояние устройств, отделяйте хранилище симулятора от DerivedData и привязывайте очистку от Apple к реальным потребностям тестирования, а не к слепому удалению папок.

FAQ

Почему Xcode Simulator занимает так много места на Mac?

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

В чём разница между рантаймами симулятора и данными симулятора?

Рантаймы симулятора — это образы ОС, которые Xcode использует для загрузки симуляторов конкретных платформенных версий. Данные симулятора — это состояние на уровне устройства внутри созданных симуляторов, такое как установленные приложения, их данные и настройки.

Безопасно ли удалять недоступные устройства симулятора?

Обычно да. Инструмент simctl от Apple явно поддерживает удаление недоступных устройств, то есть устройств, которые больше не поддерживаются текущим SDK Xcode. Это часто один из самых безопасных шагов очистки симулятора.

Безопасно ли удалять рантаймы симулятора на Mac?

Иногда, но только когда вы уверены, что рантайм больше не нужен для тестирования, превью или старых целей проектов. Удаление рантайма — более серьёзное решение, чем очистка содержимого симулятора, потому что удаляется сам образ рантайма.

Удаляет ли очистка симулятора сам рантайм?

Нет. Справка simctl описывает erase как очистку содержимого и настроек устройства. Это сбрасывает устройство симулятора, но не удаляет образ рантайма, стоящий за ним.

Проверьте хранилище симулятора до того, как начнёте чистить не те данные Xcode.

StorageRadar разделяет состояние симулятора, рантаймы, DerivedData, архивы и другие профили разработчика Apple, чтобы вы могли оценить размер, риски и выполнить сухой прогон перед применением.