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

DerivedData в Xcode занимает слишком много места на Mac? Что чистить в первую очередь

DerivedData в Xcode разрастается на Mac. Узнайте, что безопасно чистить, что вызывает затраты на пересборку и чем DerivedData отличается от симуляторов и архивов.

Опубликовано 6 февраля 2026 г. Автор StorageRadar Team Время чтения 9 мин чтения Обновлено 5 апреля 2026 г.
XcodeDerivedDataDeveloper Cleanup

Если вы каждый день собираете приложения на Mac, DerivedData рано или поздно становится одной из тех папок, про которые вы знаете, что она важна, но надеетесь, что кто-то другой её уже почистил.

Потом однажды папка огромна, место на диске заканчивается, Xcode работает тяжелее обычного, и вопрос об очистке становится неотложным: можно ли удалить её безопасно или вы превращаете свой рабочий день в хаос пересборки?

Короткий ответ: DerivedData — обычно одна из самых безопасных целей очистки Xcode. Более развёрнутый ответ: разработчики часто слишком фокусируются на DerivedData и упускают остальной след экосистемы Apple, находящийся рядом.

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

  • DerivedData — это сгенерированный вывод сборки и индексирования Xcode.
  • Обычно его безопаснее удалять, чем многие другие папки разработчика, потому что Xcode может пересоздать его.
  • Компромисс — время: более медленные сборки, переиндексация и более тяжёлый запуск симуляторов или предпросмотра после очистки.
  • DerivedData — это не весь след разработчика Apple. Archives, CoreSimulator и iOS DeviceSupport часто растут рядом.
  • Выборочная очистка часто лучше полной, если лишь несколько устаревших проектов занимают много места.
  • Очистка данных разработчика должна учитывать экосистему и риски, а не быть подходом «удали самую большую папку, какую найдёшь».
StorageRadar largest Apple developer folders view showing DerivedData, CoreSimulator, iOS DeviceSupport, and Archives side by side
DerivedData проще оценить, когда вы видите его рядом с другими папками разработчика Apple, которые часто растут на том же Mac.

Что обычно безопасно чистить, а что требует осторожности

Обычно безопасно

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

Профили осторожности

Состояние и артефактыArchives, CoreSimulator и iOS DeviceSupport могут содержать артефакты, среды выполнения или состояние симуляторов, которые вам ещё нужны.

Ожидаемые затраты на пересборку

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

Что такое DerivedData в Xcode на самом деле

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

Поэтому папка так легко разрастается. Каждый проект, таргет, ветка, комбинация SDK и работа с симулятором добавляет больше сгенерированного состояния со временем.

Это также объясняет, почему разработчики относятся к DerivedData иначе, чем к обычным файлам проекта:

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

Такое поведение пересоздания — причина, по которой DerivedData обычно относят к более безопасным целям очистки, чем многие пути, принадлежащие приложениям или системе.

Почему DerivedData Xcode становится таким большим

Простейший ответ — накопление.

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

Распространённые причины роста DerivedData:

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

Важно понимать, что большой DerivedData — это не редкость на Mac разработчика. Это становится проблемой, только если вы считаете, что правильный ответ — всегда «удалить всё прямо сейчас», не проверив, что ещё занимает место и подходит ли время.

Что ещё рядом с DerivedData обычно разрастается

Разработчики часто винят DerivedData, потому что она знакома, но это лишь один профиль в следе экосистемы Apple.

Текущие профили Apple в StorageRadar разделяют эти области рядом с Xcode, потому что они не разделяют одну модель риска:

ПрофильТипичный путьПочему растётПрофиль риска
Xcode DerivedData~/Library/Developer/Xcode/DerivedDataПродукты сборки, индексы, промежуточные файлы, сгенерированный вывод проектаБезопасно
Xcode Archives~/Library/Developer/Xcode/ArchivesАрхивы для дистрибуции и история экспортированных сборокОсторожность
Данные CoreSimulator~/Library/Developer/CoreSimulatorУстановленные среды выполнения, состояние симуляторов, данные приложений внутри симуляторовОсторожность
iOS DeviceSupport~/Library/Developer/Xcode/iOS DeviceSupportРесурсы поддержки устройств для подключённых версий iOSОсторожность
Кэш SwiftPM~/Library/Caches/org.swift.swiftpmДанные кэша менеджера пакетовБезопасно

Вот почему полное сканирование Developer Folder полезнее туннельного зрения на одном каталоге. Если DerivedData занимает 12 ГБ, а CoreSimulator — 35 ГБ и Archives — 18 ГБ, план очистки полностью меняется.

Папки разработчика Apple, которые часто растут вместе с DerivedData

Архивы

Архивы — это не просто сгенерированное временное пространство. Они могут представлять артефакты, которые вы реально хотите сохранить. Поэтому они принадлежат к другой категории очистки, чем DerivedData.

CoreSimulator

Данные симуляторов могут незаметно превысить DerivedData, особенно если вы тестируете на множестве сред выполнения или долго храните состояние симуляторов. Это не просто одноразовая папка кэша. Она может содержать среды симуляторов, которые вам ещё дороги.

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

iOS DeviceSupport

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

Кэши пакетов

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

Когда выборочная очистка лучше полного удаления

Стандартный рефлекс разработчика — часто полная очистка: стереть всю папку, пусть Xcode пересобирает, двигаемся дальше.

Это может быть нормально, но не всегда лучший подход.

Выборочная очистка обычно лучше, когда:

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

Полная очистка более оправдана, когда:

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

На самом деле это решение о времени, замаскированное под решение о хранилище. Освобождение места может быть схожим, но стоимость для рабочего процесса разная.

Правило очистки для разработчиков: Сначала удаляйте то, в чём вы уверены больше всего и что старее всего. Если несколько устаревших папок проектов объясняют большую часть размера, выборочная очистка часто лучше полного сброса.

Как очистить DerivedData Xcode без создания хаоса пересборки

Безопасная цель — не просто «освободить место». Безопасная цель — «освободить правильное место, сохранив ближайшие несколько часов разработки предсказуемыми».

1. Сначала посмотрите на всю картину разработчика

Начните с Developer Folder, если он у вас есть, а не с DerivedData изолированно. Суть в том, чтобы увидеть, действительно ли вывод Xcode — доминирующая проблема, или другие профили Apple больше.

Если более широкий след разработчика — проблема, очистка только DerivedData может освободить меньше, чем вы ожидаете.

2. Отделите безопасный сгенерированный вывод от профилей осторожности

Это различие важно:

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

Как только вы смешиваете их, «очистка данных разработчика» превращается просто в ещё одну опасную зачистку папок.

3. Осознанно выберите между выборочной и полной очисткой

Прежде чем что-либо удалять, ответьте на эти вопросы:

  1. Связаны ли крупнейшие каталоги DerivedData с устаревшими или активными проектами?
  2. Нужны ли вам быстрые сборки и индексирование сегодня?
  3. Действительно ли соседние профили больше DerivedData?
  4. Навредит ли окно полной пересборки вашему текущему спринту, демо или релизной работе?

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

4. Ожидайте затрат на пересборку, а не потерю данных

Для DerivedData обычная стоимость очистки — это:

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

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

5. Используйте процесс очистки для разработчиков, а не обычное удаление файлов

Обычный браузер файлов может сказать вам, что что-то большое. Он не может сказать, принадлежит ли путь к известному профилю разработчика, находится ли он в категории Safe или Caution, каковы вероятные последствия или нужен лиguided preflight перед очисткой.

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

Чем очистка Xcode отличается от обычной очистки файлов

Обычная очистка файлов задаёт простой вопрос: что большое?

Если вам нужно более широкое руководство по Xcode, Docker, средам с большим количеством SDK и профилям рисков разработчиков, прочитайте Как безопасно очистить кэши разработчика на Mac.

Очистка данных разработчика должна задавать более сложные вопросы:

  • это сгенерировано или написано пользователем;
  • этот профиль Safe, Caution или Dangerous;
  • нужен ли Dry Run прежде чем доверять освобождаемому размеру;
  • нужен ли Guided Preflight, потому что у профиля есть рабочий риск;
  • какие блокировки, предупреждения или последствия стоит проверить сначала?

Это различие встроено в модель Dev Cleanup StorageRadar. Она не работает как произвольное удаление. Она работает от известных профилей разработчика и политики рисков.

Например, текущие профили Apple разделяют:

  • Xcode DerivedData как Safe;
  • Xcode Archives как Caution;
  • Данные CoreSimulator как Caution;
  • iOS DeviceSupport как Caution;
  • Кэш SwiftPM как Safe.

Это противоположность хаосу очистки. Это осознанный процесс, который по-разному относится к сгенерированным кэшам и сохранённым артефактам и состоянию симуляторов.

Где StorageRadar помогает

Это меняет практический рабочий процесс:

  • используйте Developer Folder, когда вся область разработчика Apple может быть разбухшей;
  • используйте Dev Cleanup, когда нужна очистка с учётом профилей, а не обычное удаление файлов;
  • держите безопасные профили вроде DerivedData отдельно от профилей осторожности вроде Archives и связанного с симуляторами хранилища.

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

Проверьте след разработчика до того, как удалите не ту папку Xcode.

Смотреть Dev Cleanup

Чего не стоит делать

Избегайте этих распространённых ошибок:

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

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

Заключение

Если DerivedData занимает слишком много места на вашем Mac, обнадёживает то, что это обычно одна из самых безопасных целей очистки Xcode, потому что это сгенерированный вывод. Менее очевидно то, что DerivedData редко является всей историей.

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

FAQ

Можно ли удалить DerivedData Xcode на Mac?

В большинстве случаев да. DerivedData — это сгенерированные результаты сборки и индексирования, которые Xcode может пересоздать. Компромисс — более медленные сборки, переиндексация и более тяжёлый запуск симуляторов или предпросмотра сразу после очистки.

Почему DerivedData Xcode становится таким большим?

Папка растёт, потому что Xcode накапливает продукты сборки, индексы, промежуточные файлы, данные предпросмотра и специфичный для проектов сгенерированный вывод по множеству проектов, веток, SDK и комбинаций симуляторов.

Что ещё рядом с DerivedData обычно разрастается?

Типичные «соседи» Xcode по хранилищу: Archives, данные CoreSimulator, iOS DeviceSupport, а иногда кэши пакетов. Если очистка DerivedData почти не освобождает место, именно эти папки стоит проверить следующими.

Стоит ли удалять всю DerivedData или только некоторые проекты?

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

Чем Dev Cleanup отличается от обычной очистки файлов?

Dev Cleanup использует известные профили экосистемы, метки рисков, Dry Run и Guided Preflight для путей с повышенным риском. Обычная очистка файлов лишь сообщает, что файлы большие; она не добавляет контекст для разработчика или рабочие проверки.

DerivedData — это то же самое, что Archives или данные симуляторов?

Нет. DerivedData — это в целом сгенерированный вывод сборки, и его безопаснее удалять. Archives, данные CoreSimulator и iOS DeviceSupport имеют другой профиль риска, потому что они могут содержать готовые артефакты, ресурсы поддержки устройств или состояние симуляторов, которое вам ещё нужно.

Очищайте хранилище разработчика без угадывания.

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