Как очистить кэши Xcode на Mac (DerivedData, архивы, симуляторы)
Как очистить кэши Xcode на Mac (DerivedData, архивы, симуляторы)
Если вы разрабатываете приложения для iOS или macOS, Xcode — один из самых быстрых способов исчерпать дисковое пространство. Кэши DerivedData, Archives, симуляторов и SwiftPM могут вырасти до десятков гигабайт без какого-либо предупреждения в обзоре хранилища.
В этом руководстве объясняется, что делает каждая папка, что можно безопасно удалить и как автоматизировать очистку. Для более широкой стратегии хранения см. как освободить место на диске Mac.
Почему Xcode занимает так много места
Xcode хранит несколько независимых категорий данных:
- DerivedData — промежуточные продукты сборки, индексы и кэши модулей. Безопасно для удаления; Xcode перестроит их при следующей компиляции.
- Archives — релизные сборки для App Store Connect и ad-hoc распространения. Старые архивы часто забываются.
- Simulators — полные образы среды выполнения устройств. Удаление неиспользуемых сред выполнения освобождает большое количество места.
- SwiftPM — чекауты и артефакты сборки в
.buildи кэши SwiftPM. - Поддержка устройств — символы для подключенных устройств iOS; старые версии можно удалить, если вы больше не тестируете эти версии ОС.
Ничто из этого не является «вашим исходным кодом». Это воспроизводимые артефакты, поэтому их удаление обычно сопряжено с низким риском.
Очистка DerivedData вручную
- Закройте Xcode.
- Откройте Finder и нажмите Shift + Command + G.
- Вставьте:
~/Library/Developer/Xcode/DerivedData - Удалите содержимое (или всю папку). Xcode пересоздаст ее.
Или в Xcode: Settings → Locations → Derived Data и нажмите стрелку, чтобы открыть папку в Finder.
Удаление старых архивов
Архивы находятся по адресу:
~/Library/Developer/Xcode/Archives
Каждая папка с датой — это архив Xcode. Удалите архивы для старых версий, которые вам больше не нужны для публикации или отладки. Сохраните недавние, если вы все еще символизируете отчеты о сбоях из этих сборок.
Сокращение сред выполнения симуляторов
- Откройте Xcode → Settings → Platforms (или Components в старых версиях Xcode).
- Удалите среды выполнения iOS/watchOS/tvOS, которые вы больше не используете.
Вы также можете удалить данные из ~/Library/Developer/CoreSimulator — но предпочтительнее сначала удалить платформы через Xcode, чтобы избежать нарушения работы активных проектов.
SwiftPM и CocoaPods
- SwiftPM: Чекауты в
~/Library/Caches/org.swift.swiftpmи папки.buildпроекта. - CocoaPods: Папка
Podsможет быть пересоздана с помощьюpod install.
Если вы не уверены, сделайте резервную копию или используйте систему контроля версий перед удалением больших папок внутри проекта.
Автоматизация очистки Xcode с помощью NythyCleaner
NythyCleaner включает раздел Developer / Xcode, который сканирует общие пути разработчика, суммирует, сколько места занимает каждая категория, и позволяет очистить их в одном рабочем процессе. Вы можете использовать его в сочетании с:
- Дисковое пространство — представление в виде древовидной карты, чтобы увидеть, куда уходит место помимо Xcode.
- Очистка системы — кэши и журналы, которые накапливаются рядом с Xcode.
Контрольный список безопасности
- Закройте Xcode перед удалением DerivedData или больших данных симулятора.
- Не удаляйте папки
~/Developerили папки проекта, если вы не собираетесь этого делать. - Сохраняйте недавние архивы App Store, если вам все еще нужно загружать или отлаживать соответствующие сборки.
Сводка
| Расположение | Типичное содержимое | Безопасно ли удалять? |
|---|---|---|
| DerivedData | Выходные данные сборки, индексы | Да (перестраивается) |
| Archives | Архивы IPA/связанные с IPA | Да, если устарели |
| Simulators | Образы среды выполнения | Да, неиспользуемые среды выполнения |
| Кэши SwiftPM | Зависимости, сборки | Обычно да |
Регулярная очистка кэшей Xcode поддерживает высокую скорость SSD и позволяет избежать неожиданных ошибок «диск заполнен» во время сборок.