Как я могу безопасно удалить в моем каталоге ~ / Library / Developer / Xcode / DerivedData?


90

Я бы хотел удалить старые (заменяемые?) Данные, и содержимое DerivedData кажется вероятным кандидатом. Поскольку это имя DerivedData , я предполагаю, что это информация, которая, если она отсутствует, будет сгенерирована во время фазы сборки и, если она есть, будет использоваться на этом же этапе. Тогда кажется логичным, что я мог бы удалить любые старые данные проекта без страха, и если я когда-нибудь построю этот старый проект, первое выполнение займет больше времени, чем обычно, так как он должен воссоздать все эти производные данные.

Я здесь ошибаюсь?


8
ВНИМАТЕЛЬНО, как объясняет Джошуа, эта кровавая папка содержит «данные dSYM для последующей отладки. ... не удаляйте, если вы хотите иметь возможность отлаживать развернутые версии своего приложения»
Fattie

Возможно, мне следует использовать все уловки с разметкой SO в дополнение к акценту, чтобы указать на это в своем ответе. :-D Block-quoted-Star-Slash-Commented-code-bold-italic-bulleted-list и т. Д.
Джошуа Ноцци

17
На самом деле @JoeBlow, как объясняет Джошуа, это каталог Archives, который содержит «данные dSYM для последующей отладки». Архивы каталога является родственный из DerivedData каталога, что означает , что он на том же уровне, ниже ~/Library/Developer/Xcode, так как DerivedData , так « что кровавая папка» (DerivedData) не НЕ содержит данные dSYM и его содержимое может быть безопасно удален.
mluisbrown 05

4
Всякий раз, когда я выпускаю новую версию, я копирую .xcarchive из Xcode в свой репозиторий git и держу его под контролем версий - это хороший способ всегда иметь возможность получить старые .dSYM вне зависимости от каталогов Xcode конкретной машины.
Bill

Ответы:


123

Производные данные папка содержит всю информацию о промежуточной сборке, debug- и высвобождение встроенной цели, а также индексе вашего проекта. Это полезно , чтобы удалить полученные данные , когда у вас странные проблемы индекса (код завершения не работает право, постоянная переиндексации, или даже просто медленный проект). Удаление всей папки уничтожает эту информацию для всех проектов, о которых знает Xcode 4.

Папка « Архивы » (родственник производных данных) содержит архивную форму ваших целей. То есть сборка выпуска, а также данные dSYM для последующей отладки. Его не следует удалять, если вы хотите иметь возможность отлаживать развернутые версии вашего приложения.

Вы можете удалить производные данные для данного проекта, открыв окно «Организатор» и выбрав вкладку «Проекты». Выберите нужный проект и нажмите кнопку «Удалить» рядом с путем к производным данным. Это больше похоже на «хирургический удар» по проблемным проектам.


1
Конечно. Зайдите в командную строку и наберите "man rm" - офигеть. :-)
Джошуа Ноцци 02

9
Вздох. Я знаю rm. Я хотел найти способ разрешить папку, связанную с проектом, например ~/Library/Developer/Xcode/DerivedData/MyProject-hghjhjhkjh/. Самый простой способ, который я нашел, - это установить папку DerivedData относительно папки проекта с помощью настроек XCode.
asgoth 02

4
Только быстрое примечание: В XCode 6.x , projectsнаходятся в отдельном окне (не Организатор).
Olie

1
Мне нравится ваш военный жаргон XD
Джош

1
FWIW множество новых инструментов распространения (AppCenter, HockeyApp, Crashlytics и т.д.) просят вас передать файлы dSYM, чтобы вам не приходилось хранить их самостоятельно.
Дорогая,

38

Содержимое «Производных данных» создается во время сборки. Вы можете безопасно удалить его. Для удаления производных данных выполните следующие действия:

  1. Выберите Xcode -> Настройки ..

Шаг 1

  1. Откроется всплывающее окно. Выберите вкладку " Местоположения ". На дополнительной вкладке «Местоположения» вы можете увидеть « Производные данные ». Щелкните значок стрелки рядом с путем.

Шаг 2

  1. Это откроет папку, содержащую «Производные данные». Щелкните правой кнопкой мыши и удалите папку.

Шаг 3


Итак, когда мое приложение находится в симуляторе, но не запускается из кода, и если я удалю, а затем снова запущу из кода, возникнет ли проблема?
Manthan

@Manthan: Нет, это не создаст никаких проблем.
Jayprakash Dubey

30

Да, эти данные генерируются во время сборки, и вы можете удалить их, если хотите, это не проблема.

Он будет воссоздан, когда вы снова построите.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.