Як я можу безпечно видалити в своєму каталозі ~ / Library / Developer / Xcode / DerivedData?


90

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

Я тут помиляюся?


8
БУДЬТЕ ДІАЙНО УВАЖЕНІ,
Fattie,

Можливо, мені слід скористатися кожним трюком розмітки SO на додаток до акценту, щоб назвати цей пункт у своїй відповіді. :-D Блок-цитований-зірка-коса риса-коментований-код-жирний-курсив-маркований список тощо
Джошуа Ноцці

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

4
Щоразу, коли я випускаю нову версію, я копіюю .xcarchive з Xcode у своє git-репо і зберігаю його під контролем версій - це хороший спосіб завжди мати можливість отримувати старі .dSYM-файли, не залежачи від каталогів Xcode певної машини.
Білл

Відповіді:


123

Папка " Виведені дані" містить всю проміжну інформацію про збірку, налагоджені та побудовані цілі випуску, а також індекс вашого проекту. Це корисно , щоб видалити отримані дані , коли у вас дивні проблеми індексу (код завершення не працює право, постійна переиндексации, або навіть просто повільний проект). Видалення всієї папки містить цю інформацію для всіх проектів, про які знає Xcode 4.

Папка " Архіви" (рідний брат похідних даних) містить заархівовану форму ваших цілей. Тобто, збірка випуску, а також дані dSYM для подальшої налагодження. Це не слід видаляти, якщо ви хочете мати можливість налагоджувати розгорнуті версії вашого додатка.

Ви можете нуклерувати похідні дані для даного проекту, відкривши вікно Організатор і вибравши вкладку Проекти. Виберіть потрібний проект і натисніть кнопку Видалити поруч із шляхом Виведені дані. Це більше "хірургічний страйк" для проблемних проектів.


1
Звичайно. Перейдіть у командний рядок і введіть "man rm" - ідіть гайками. :-)
Джошуа Ноцці

9
Зітхайте. Я знаю rm. Я хотів знайти спосіб вирішити папку, пов'язану з проектом, наприклад ~/Library/Developer/Xcode/DerivedData/MyProject-hghjhjhkjh/. Найпростіший спосіб, який я знайшов, - встановити папку DerivedData щодо папки проекту за допомогою налаштувань XCode.
асгот,

4
Тільки швидке примітка: В XCode 6.x , projectsзнаходяться в окремому вікні (НЕ Організатор).
Олі

1
Мені подобається ваш військовий жаргон XD
Джош

1
FWIW багато нових інструментів розповсюдження (AppCenter, HockeyApp, Crashlytics тощо) просять вас передати файли dSYM, щоб вам не потрібно було їх зберігати самостійно.
Мед

38

Вміст "Похідних даних" генерується під час побудови. Ви можете безпечно видалити його. Виконайте наступні кроки для видалення "Похідних даних":

  1. Виберіть Xcode -> Налаштування ..

Крок 1

  1. Це відкриє спливаюче вікно. Виберіть вкладку " Місцеположення ". На підвкладці "Місцеположення" ви можете побачити " Похідні дані " Клацніть на піктограму зі стрілкою біля шляху.

Крок 2

  1. Це відкриє папку, що містить "Виведені дані" Клацніть правою кнопкою миші та видаліть папку.

Крок 3


Отже, коли моя програма знаходиться в симуляторі, але не працює з коду, і якщо я видалю, а потім запускаю знову з коду, чи це спричинить якісь проблеми?
Мантан

@Manthan: Ні, що не створить жодної проблеми.
Jayprakash Dubey

30

Так, ці дані генеруються під час збірки, і ви можете їх видалити, якщо хочете, це не проблема.

Він буде відтворений, коли ви будете будувати знову.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.