AskClean

Как удалить старые Xcode Archives и не потерять dSYM

Команда AskClean · Обновлено 2026-11-02

Старые Xcode Archives можно удалить, но только убедившись, что эти сборки больше не распространяются, а их dSYM не понадобятся для символикации отчётов о сбоях. Проверяйте файлы .xcarchive по одному в Organizer, сохраняйте все действующие сборки App Store, TestFlight, Enterprise и Ad Hoc и перемещайте в Корзину только архивы версий, которые уже заменены новыми.

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

Архив Xcode — не кэш

Команда Product > Archive создаёт пакет .xcarchive в ~/Library/Developer/Xcode/Archives: в нём хранятся точный бинарный файл приложения, метаданные сборки и обычно соответствующий ему dSYM. DerivedData можно пересоздать из исходников, а dSYM привязан к бинарному файлу по UUID: пересборка того же коммита даст другой UUID, и равноценной замены не получится. Если для такой сборки придёт отчёт о сбое, а подходящих символов уже нет, вместо имён функций и строк кода в нём останутся адреса памяти.

Проверьте архивы, прежде чем удалять

Начинайте в Xcode, а не в Finder: в Window > Organizer > Archives для каждого архива видны приложение, версия, номер сборки, дата создания и статус распространения. Сначала составьте список того, что нужно сохранить: сборки, доступные пользователям, активные сборки TestFlight, ещё установленные сборки Enterprise и Ad Hoc и версии, сбои которых вы ещё можете разбирать. Успешная загрузка в App Store Connect не делает локальный архив ненужным, а возраст файла сам по себе ничего не доказывает.

  1. Откройте Window > Organizer и выберите Archives.
  2. Выберите приложение и запишите версию и номер каждой используемой сборки App Store, TestFlight, Enterprise или Ad Hoc.
  3. Убедитесь, что нужные символы загружены, и скопируйте незаменимые архивы туда, где они попадут в резервную копию.
  4. На удаление отмечайте только заменённые релиз-кандидаты, заброшенные внутренние сборки и версии, сбои которых вы уже не разбираете.
  5. Удаляйте кандидатов по одному в Organizer, убедитесь, что нужные архивы на месте, и только потом очищайте Корзину.

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

Удаляйте с возможностью восстановления

Удобнее всего удалять в Organizer: удаляя архив, вы видите его приложение, версию и номер сборки. Finder нужен, только если Organizer не открывает старый или повреждённый пакет: найдите точный .xcarchive, сверив его Info.plist со своим списком, и переместите в Корзину только его, а не всю папку с датой. Не меняйте файлы внутри .xcarchive и не очищайте Корзину, пока снова не откроете Organizer и не проверите нужные экспорты: удаление через rm -rf в «Терминале» лишает вас этой страховки.

Задайте политику хранения

Для каждого релиза записывайте, где лежит архив, загружены ли символы, где резервная копия и когда сборку можно будет удалить. Если место нужно срочно, сначала очистите DerivedData и неиспользуемые данные симуляторов, а архивы разбирайте спокойно, когда на диске появится запас. AskClean показывает каждый .xcarchive отдельно, предупреждает о необратимых последствиях и не относит архивы к восстанавливаемому кэшу; одобренный вами архив удаляется безвозвратно, а не перемещается в Корзину.

Сводка решений и рисков

Какие Xcode Archives можно удалить, где хранятся файлы .xcarchive, как убрать старые сборки в Organizer и когда нужно сохранить dSYM.

ТемаГде проверитьЧто важно
Архив Xcode — не кэш~/Library/Developer/Xcode/ArchivesКоманда Product > Archive создаёт пакет .xcarchive в ~/Library/Developer/Xcode/Archives: в нём хранятся точный бинарный файл приложения, метаданные сборки и обычно соответствующий ему dSYM.
Проверьте архивы, прежде чем удалятьWindow > Organizer > ArchivesНачинайте в Xcode, а не в Finder: в Window > Organizer > Archives для каждого архива видны приложение, версия, номер сборки, дата создания и статус распространения.
Удаляйте с возможностью восстановленияOrganizer / Finder / КорзинаУдобнее всего удалять в Organizer: удаляя архив, вы видите его приложение, версию и номер сборки.
Задайте политику храненияУчёт релизов / резервная копияДля каждого релиза записывайте, где лежит архив, загружены ли символы, где резервная копия и когда сборку можно будет удалить.

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

Можно ли удалить всю папку Archives?

Не целиком и не вслепую: в ней может лежать единственная копия бинарного файла и dSYM выпущенной версии. Сохраните все действующие сборки App Store, TestFlight, Enterprise и Ad Hoc и версии, сбои которых ещё могут понадобиться.

Если удалить архив, приложение пропадёт из App Store?

Нет. Загруженное приложение останется в App Store Connect и на устройствах пользователей. Вы теряете только локальный артефакт релиза, который может понадобиться для повторного экспорта или символикации.

Можно ли получить dSYM заново, пересобрав тот же коммит?

Надёжно — нет: dSYM должен совпадать по UUID с распространённым бинарным файлом, а новая сборка получит другой UUID. Сохраняйте исходный архив или его dSYM.

Источники

Другие руководства по очистке Mac разработчика