Чи можу я безпечно видалити вміст папки даних, отриманих Xcode?


293

Мені не вистачає дискового простору і перевіряється за допомогою сторонньої утиліти, що серед іншого, що каталог ~ / Library / Developer / Xcode / DerivedData займає близько 22 Гб місця на диску.

Я шукав stackoverflow і знайшов цю публікацію

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

Прийнята відповідь на це питання говорить про те, що я не повинен торкатися / видаляти папки з цього каталогу. так що я і робив

  • Знайшов існуючу папку проектів збірки для програми, яка у мене є в Appstore
  • Видалено папку з похідного dir
  • запустив XCode 5
  • Відкрийте цей проект
  • Чиста збірка
  • Випробував і склав його на тренажері
  • ReArchived
  • Все працювало. Нічого не було зламано.

Якщо я щось не пропустив у відповідях, я хочу переконатися, запитуючи досвідчених розробників, що якщо я видалю всі папки з DerivedData, це не зашкодить мені при створенні, тестуванні та складанні цих проектів.


прийнята відповідь на посилається на це питання stackoverflow.com/a/7284632/8047, яка нічого не говорить про не видалення з DerivedData ... хоча для архівів важливо пізніше налагоджувати речі, але це інша директорія.
Дан Розенстарк

Відповіді:


372

Так, ви можете видалити всі файли з DerivedDataпідпапки (Not DerivedData Folder)безпосередньо.

Це не вплине на вашу роботу над проектом. Зміст DerivedDataпапки генерується протягом часу збирання, і ви можете їх видалити, якщо хочете. Це не проблема.

Вміст DerivedDataбуде відтворено, коли ви знову будуватимете свої проекти.

Xcode8 + оновлення

З Xcode8, який видалив варіант проекту з вкладки вікна, щоб ви все ще могли використовувати перший спосіб:

Xcode -> Preferences -> location -> click on small arrow button as i explain in my first answer.

Оновлення Xcode7.3 Для видалення DeriveData конкретного проекту вам просто потрібно виконати наступні кроки:

Перейти до Window -> Project:

введіть тут опис зображення

Ви можете знайти список проекту, або ви можете перейти до DerivedDataпапки, або ви можете безпосередньо видалити окремі проектиDerivedData

введіть тут опис зображення


Я не працюю над Xcode5, але в 4.6.3 ви можете знайти DerivedDataпапку, як знайдено на зображенні нижче:

введіть тут опис зображення

Після натискання на Налаштування ..

введіть тут опис зображення

Ви отримуєте це вікно

введіть тут опис зображення


1
Велике спасибі людино. Чи є вміст "Отримані дані" таким же, як кешовані та небажані файли Xcode? Так що б це добре, щоб видалити його, щоб очистити простір?
Supertecnoboff

1
@gone Про що ти говориш? Вбудовані файли повинні кудись піти.
Droppy

2
Що ж, із CMake та іншими системами виготовлення, навіть із збірками без вихідних даних, згенеровані файли тощо все ще знаходяться на шляху проекту та видаляються, якщо я видаляю структуру папки або очищаюсь, коли виконую чистку. Оскільки я помічаю приблизно 100 завдань щотижня або близько того, я отримую величезне накопичення файлів, які мені потрібно пам’ятати, щоб видалити вручну та користуючись інтерфейсом XCode, дані кожного проекту окремо. Тож я стою за свій попередній коментар, хоча зараз я реалізував псевдонім Вільяма у своєму .bashrc.
пішов

XCode 8 знову змінює речі (це завжди було болі в дупі). Тепер нам потрібно вручну перейти до папки /Users/YourUsername/Library/Developer/Xcode/DerivedDataта видалити їх усі. Оскільки ви редагували XCode 7, я подумав, що ви, можливо, захочете відредагувати його ще раз для XCode 8.
sweta.me

1
Ви можете перевірити мою повну відповідь, є кілька відповідей у ​​тому ж старому, який все ще працює, щоб перейти на преференцію та з вкладки про місцезнаходження. :)
Нітін Гохель

124

Я очищаю отримані дані досить часто, що маю псевдонім для цього. Це може вирішити проблеми з побудовою. У файлі /Users/Myusername/.bash_profile у мене є таке

alias purgeallbuilds='rm -rf ~/Library/Developer/Xcode/DerivedData/*'

Потім у терміналі я набираю purgeallbuilds, і всі підпапки DerivedData видаляються.


24
Ви можете видалити саму папку DerivedData. Він просто буде створений заново.
Нік Локвуд

1
Коли я видалив цю папку, миттєво не працює в Xcode 8. Після того, як я додав це, все знову працювало.
Тім

Це дуже корисна порада. Зазвичай я відчуваю дефіцит місця кожні півроку, і важко запам'ятати, які папки слід очистити. Псевдонім, безумовно, зручний.
Олівер Чжан

35

XCODE 10 ОНОВЛЕННЯ

На вкладці:

  1. Клацніть Xcode
  2. Переваги
  3. Місцеположення -> Отримані дані

Ви можете отримати доступ до всіх отриманих даних та очистити, видаливши їх.


Розділ Отримані дані визначає лише шлях отриманих даних. Я не бачу ніде їх переглядати та видаляти. Чому б просто не зробити це за допомогою командного рядка?
AlxVallejo

2
@AlxVallejo В кінці адреси шляху ви побачите значок, який переведе вас у папку. Натисніть на нього і видаліть папку, і вона буде створена заново.
Umit Kaya

34

XCODE 7.2 ОНОВЛЕННЯ

(Також працює для 7.1.1)

  1. Клацніть Вікно, потім Проекти, а потім видаліть отримані дані .

Подобається це:

введіть тут опис зображення

А потім видаліть його тут:

введіть тут опис зображення


Сподіваюся, що це допомагає!


2
Це дозволить вам видалити його вручну по одному, але засоби, які використовуються в інших публікаціях, - це видалення вмісту папки DerivedData одразу
XIII

23
 $ du -h -d=1 ~/Library/Developer/Xcode/*

показує, що принаймні дві папки величезні:

 1.5G   /Users/horace/Library/Developer/Xcode/DerivedData
 9.4G   /Users/horace/Library/Developer/Xcode/iOS DeviceSupport

Ви можете видалити речі в папках:

 rm -rf ~/Library/Developer/Xcode/DerivedData/*

а деякі в:

 open ~/Library/Developer/Xcode/iOS\ DeviceSupport/

2
святе лайно ... видалення файлів із старих версій iOS у папці підтримки пристрою звільнило 28
Гб

17

Щойно створений github repo з невеликим сценарієм, який створює диск RAM. Якщо ви вкажете свою папку DerivedData /Volumes/ramdisk, після вилучення диска всі файли не будуть.

Це прискорює складання, а також усуває цю проблему

xc-запуск репо

Найкраще запускається за допомогою DTerm


11

XCode 8: Щоб видалити отримані дані для вашого поточного проекту:

Натисніть меню Продукт

Утримуйте клавішу Option

Натисніть Очистити папку збірки


Коли я утримую клавішу опції, опція «Чиста збірка» є сірою. : /
AlxVallejo

4

XCODE 10 ОНОВЛЕННЯ

Клацніть для Xcode у рядку стану, а потім виберіть Налаштування

У спливаючому вікні виберіть Місцеположення до останнього сегмента

Ви можете дістатися до папки « Отримані дані» з невеликою правою іконою

введіть тут опис зображення


2

~ / Бібліотека / Розробник / Xcode / DerivedData


За замовчуванням так; Я використовую, ~/tmp/DerivedDataщоб я міг легше дістатися до вбудованих файлів / пакетів.
Droppy

1

так, безпечно для видалення, мій скрипт шукає та усуває всі знайдені ним екземпляри, легко змінюючи локальний каталог

#!/usr/bin/env bash
set -o errexit
set -o nounset
set -o pipefail
IFS=$'\n\t'

for drive in Swap Media OSX_10.11.6/$HOME
do
   pushd /Volumes/${drive}  &> /dev/null
   gfind . -depth -name 'DerivedData'|xargs -I '{}' /bin/rm -fR '{}'
   popd &> /dev/null
done

0

Я отримав цю помилку, оскільки Int був int в одному файлі. Такий дурний.


-1

Я б сказав, що це безпечно - я часто видаляю вміст папки для багатьох проектів iOS таким чином . І у мене не було жодних проблем зі збіркою чи надсиланням у App Store. Процедура видаляє отримані дані та очищає кешовані об'єкти проекту для Xcode 5 та 6.

Іноді просто виклик rm -rf у каталозі «Отримані дані» залишає затяжний файл або два, але мій скрипт циклічний, поки всі файли не будуть видалені.


Тьфу. Друкарська помилка. Я мав на увазі «забезпечити»
ясне світло

Ах, я посилаюся на сценарій, який я надав у відповіді на інше питання. Таким чином, якщо я коли-небудь хочу оновити сценарій, мені потрібно редагувати лише в одному місці. Чи можете ви перейти за посиланням?
Шеймус

Я зараз бачу код. Не бачив посилання раніше (якщо воно там було) дякую
clearlight

-1

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

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

Крок 1

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

Крок 2

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

Крок 3

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