Skip to main content
dijitalworlds
, Главная
Smart Cleaner AI - Disk CleanBy DijitalWorlds Editorial TeamTechnical review by Cemal H.· 9 мин чтения

Как безопасно очистить Xcode DerivedData, кеши и симуляторы

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

Среда разработчика на Mac: Xcode DerivedData, разбивка кешей и варианты очистки симуляторов

Для разработчиков iOS, macOS и visionOS Xcode является незаменимым инструментом, но он же может стать одним из главных потребителей места на Mac разработчика. За месяцы сборки, тестирования и отладки Xcode накапливает индексные хранилища, промежуточные артефакты сборки, кеши модулей, архивы и среды выполнения симуляторов.

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

Что такое DerivedData на самом делеПромежуточные продукты сборки, кеши модулей и индексы, которые можно воссоздать при необходимости.
Безопасное управление симуляторамиИспользуйте Xcode > «Настройки» > «Компоненты», чтобы удалять неиспользуемые среды выполнения, не затрагивая активные SDK.
Исправление ошибок индексированияОчистка повреждённой DerivedData устраняет частые ошибки автодополнения и сборки в Xcode.

Что такое Xcode DerivedData и почему она растёт?

Xcode хранит информацию времени сборки в центральном каталоге ~/Library/Developer/Xcode/DerivedData. Внутри него Xcode создаёт отдельную подпапку для каждого открытого проекта и рабочей области.

DerivedData содержит: 1. Данные индексирования: карты синтаксиса, графы символов и перекрёстные ссылки для автодополнения кода и быстрой справки. 2. Продукты сборки: промежуточные объектные файлы (.o), предкомпилированные фреймворки и dSYM. 3. Кеши модулей: предкомпилированные модули Swift и Clang. Так как артефакты старых сборок, переименованных целей или архивированных веток накапливаются, DerivedData растёт, пока её не очистят.

Безопасно ли удалять DerivedData?

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

Очистка DerivedData является стандартным шагом диагностики в сообществе разработчиков Apple, когда Xcode ведёт себя странно, постоянно показывает ошибки сборки или не разрешает зависимости Swift Package Manager. Помните, что следующая сборка займёт больше времени, потому что Xcode придётся заново индексировать код и перекомпилировать зависимости.

Ручная очистка DerivedData

DerivedData можно очистить вручную через настройки Xcode и Finder либо через Терминал:

• Через настройки Xcode и Finder (рекомендуется): откройте Xcode → «Настройки» (Command + ,) → «Расположения». В разделе Derived Data нажмите маленькую стрелку рядом с путём, чтобы открыть папку в Finder. Убедитесь, что вы в DerivedData, закройте Xcode, затем выберите подпапки проектов и переместите их в Корзину. Так вы сможете проверить, что удаляется, и при необходимости восстановить файлы из Корзины.

• Через Терминал (для опытных): если вы предпочитаете командную строку, сначала закройте Xcode и выполните: rm -rf ~/Library/Developer/Xcode/DerivedData/* . Учтите, что rm -rf удаляет файлы сразу и безвозвратно, не перемещая в Корзину, поэтому внимательно проверьте путь перед выполнением.

Очистка неиспользуемых симуляторов iOS, watchOS и tvOS

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

Чтобы посмотреть установленные симуляторы, выполните в Терминале xcrun simctl list. Чтобы удалить недоступные или «осиротевшие» устройства симуляторов и очистить их кеши, выполните xcrun simctl delete unavailable. Можно также открыть Xcode «Настройки» → «Компоненты», чтобы просмотреть, настроить и удалить загруженные среды выполнения симуляторов платформ, с которыми вы больше не тестируете.

Использование Smart Cleaner AI при обслуживании хранилища Xcode

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

Disk Analyzer в Smart Cleaner AI поможет просмотреть объёмные папки и файлы, которые видит сканер по всей системе. Очистку, специфичную для Xcode (управление DerivedData, продуктами сборки и симуляторами), всё же стоит проверять и выполнять через настройки Xcode, Finder и инструменты командной строки разработчика, чтобы конфигурации проектов остались нетронутыми.

Как очистить Xcode DerivedData и симуляторы за 4 шага

  1. 1

    Полностью закройте Xcode

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

  2. 2

    Найдите DerivedData в Finder

    Откройте Xcode «Настройки» → «Расположения» и нажмите стрелку рядом с DerivedData или перейдите в Finder прямо в ~/Library/Developer/Xcode/DerivedData.

  3. 3

    Удалите подпапки сборки в DerivedData

    Выберите ненужные папки проектов внутри DerivedData и переместите их в Корзину. Xcode создаст новые индексы при следующей сборке.

  4. 4

    Управляйте симуляторами в «Компонентах» или Терминале

    Выполните xcrun simctl delete unavailable в Терминале или откройте Xcode «Настройки» → «Компоненты» и удалите неиспользуемые среды выполнения симуляторов.

Smart Cleaner AI - Disk Clean

Проверьте хранилище и верните место на диске

Smart Cleaner AI - Disk Clean помогает увидеть, как используется диск, найти большие файлы и удалить ненужные кеши приложений, чтобы Mac оставался быстрым и лёгким.

Download on the App Store
Скачать Smart Cleaner AI бесплатно →

Частые вопросы

Удалит ли очистка DerivedData мой исходный код или историю Git?▼

Нет. DerivedData содержит только временные артефакты сборки и индексы. Файлы проектов, исходный код и репозитории Git остаются нетронутыми.

Почему первая сборка медленная после удаления DerivedData?▼

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

Где хранятся архивы Xcode?▼

Xcode хранит архивы для распространения в ~/Library/Developer/Xcode/Archives/. Просматривать и удалять старые архивы можно через Xcode Organizer (Window → Organizer).

Можно ли перенести DerivedData на внешний SSD?▼

Да. В Xcode «Настройки» → «Расположения» можно задать собственный путь к DerivedData на внешнем диске NVMe, хотя внутренний SSD Mac обеспечивает более высокую скорость сборки.

Как часто разработчикам стоит очищать DerivedData?▼

Разработчики обычно очищают DerivedData при диагностике ошибок индексирования или компиляции, после крупных обновлений Xcode или чтобы освободить место из-под старых неактивных проектов.

Источники

Поделиться

Ready when you are

Download Smart Cleaner AI for Mac

Analyze Mac storage, safely clear system data caches, find large files, and remove app leftovers with on-device controls.

By using Smart Cleaner AI, you agree to our Terms of Use and Privacy Policy.