Czy mogę bezpiecznie usunąć zawartość folderu danych pochodnych Xcode?


293

Mam mało miejsca na dysku i sprawdziłem za pomocą narzędzia innej firmy, że między innymi ~ / Library / Developer / Xcode / DerivedData zajmuje około 22 GB miejsca na dysku.

Przeszukałem stackoverflow i znalazłem ten post

Jak mogę bezpiecznie usunąć w moim katalogu ~ / Library / Developer / Xcode / DerivedData?

Akceptowana odpowiedź na to pytanie sugeruje, że nie powinienem dotykać / usuwać folderów z tego katalogu. więc to, co zrobiłem, było

  • Znaleziono istniejący folder projektu kompilacji dla aplikacji, którą mam w Appstore
  • Usunięto folder z pochodnego katalogu
  • uruchomił XCode 5
  • Otwórz ten projekt
  • Czysta kompilacja
  • Przetestowano i skompilowano na symulatorze
  • Ponownie zarchiwizowane
  • Wszystko działało Nic nie zostało zepsute.

O ile nie przeoczyłem czegoś w odpowiedziach na posty, chcę się upewnić, pytając doświadczonych programistów, że jeśli usunę wszystkie foldery z DerivedData, nie zaszkodzi mi to w budowaniu, testowaniu i kompilowaniu tych projektów.


zaakceptowana odpowiedź na pytanie, o którym mowa, to stackoverflow.com/a/7284632/8047, która nie mówi nic o tym, aby nie usuwać danych DerivedData ... chociaż Archiwa jest ważna do późniejszego debugowania, ale to inny katalog.
— Dan Rosenstark,

Odpowiedzi:


372

Tak, możesz bezpośrednio usunąć wszystkie pliki z DerivedDatapodfolderu (Not DerivedData Folder).

Nie wpłynie to na pracę nad projektem. Zawartość DerivedDatafolderu jest generowana podczas kompilacji i możesz je usunąć, jeśli chcesz. To nie jest problem.

Zawartość DerivedDatazostanie odtworzona przy ponownym budowaniu projektów.

Aktualizacja Xcode8 +

Z Xcode8, który usunął opcję projektu z karty okna, abyś mógł nadal używać pierwszego sposobu:

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

Aktualizacja Xcode7.3 Aby usunąć dane DeriveData z konkretnego projektu, wystarczy wykonać następujące kroki:

Idź do Window -> Project:

wprowadź opis zdjęcia tutaj

Możesz znaleźć listę projektów i możesz przejść do DerivedDatafolderu lub bezpośrednio usunąć poszczególne projektyDerivedData

wprowadź opis zdjęcia tutaj


Nie pracuję na Xcode5, ale w 4.6.3 możesz znaleźć DerivedDatafolder jak na poniższym obrazku:

wprowadź opis zdjęcia tutaj

Po kliknięciu Preferencji ..

wprowadź opis zdjęcia tutaj

Dostajesz to okno

wprowadź opis zdjęcia tutaj


1
Dzięki wielkie. Czy zawartość „danych pochodnych” jest po prostu taka sama jak buforowane i niechciane pliki Xcode? Więc dlaczego można go usunąć, aby zwolnić miejsce?
— Supertecnoboff,

1
@ gone O czym ty mówisz? Skompilowane pliki muszą gdzieś iść.
— Droppy,

2
Cóż, w przypadku CMake i innych systemów make, nawet w przypadku kompilacji poza źródłami, wygenerowane pliki itp. Nadal znajdują się na ścieżce projektu i są usuwane, jeśli usunę strukturę folderów lub zostaną wyczyszczone podczas czyszczenia. Ponieważ zaznaczam około 100 zleceń co tydzień, otrzymuję ogromną liczbę plików, które muszę pamiętać, aby ręcznie usunąć i za pomocą interfejsu użytkownika XCode dane każdego projektu osobno. Tak więc podtrzymuję mój poprzedni komentarz, chociaż teraz zaimplementowałem alias Williama w moim .bashrc.
— odszedł

XCode 8 ponownie zmienia rzeczy (zawsze był to ból w dupie). Teraz musimy ręcznie przejść do folderu w /Users/YourUsername/Library/Developer/Xcode/DerivedDatai usunąć je wszystkie. Jak już edytowałeś XCode 7, pomyślałem, że możesz chcieć edytować go ponownie dla XCode 8.
— sweta.me

1
możesz sprawdzić moją pełną odpowiedź. Istnieje wiele odpowiedzi w tej samej starej, które nadal działają, aby przejść do preferencji i z zakładki lokalizacji. :)
— Nitin Gohel

124

Czyszczę pochodne dane na tyle często, że mam na to alias. Może naprawić problemy z kompilacją. Mam następujące w /Users/Myusername/.bash_profile

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

Następnie w terminalu wpisuję purgeallbuilds i wszystkie podfoldery DerivedData są usuwane.


24
Możesz usunąć sam folder DerivedData. To zostanie po prostu ponownie utworzone.
— Nick Lockwood

1
Kompilacja natychmiast kończy się niepowodzeniem w Xcode 8 po usunięciu tego folderu. Po dodaniu go znów wszystko działało.
— Tim

To bardzo przydatna wskazówka. Zwykle brakuje mi miejsca co pół roku i trudno jest sobie przypomnieć, które foldery powinny zostać usunięte. Alias ​​jest zdecydowanie wygodny.
— Oliver Zhang

35

AKTUALIZACJA XCODE 10

Na zakładce:

  1. Kliknij Xcode
  2. Preferencje
  3. Lokalizacje -> Dane pochodne

Możesz uzyskać dostęp do wszystkich danych pochodnych i wyczyścić je, usuwając je.


Sekcja Dane pochodne określa tylko ścieżkę danych pochodnych. Nigdzie nie widzę, aby je wyświetlić i usunąć. Dlaczego nie zrobić tego po prostu z wiersza poleceń?
— AlxVallejo

2
@AlxVallejo Na końcu adresu ścieżki zobaczysz ikonę, która przeniesie Cię do folderu. Naciśnij go i usuń folder, a zostanie on ponownie utworzony.
— Umit Kaya,

34

AKTUALIZACJA XCODE 7.2

(Działa również dla 7.1.1)

  1. Kliknij opcję Okno, a następnie Projekty, a następnie usuń dane pochodne .

Lubię to:

wprowadź opis zdjęcia tutaj

A następnie usuń go tutaj:

wprowadź opis zdjęcia tutaj


Mam nadzieję, że to pomaga!


2
Umożliwi to ręczne usuwanie go pojedynczo, ale środki używane w innych postach służą do jednoczesnego usuwania zawartości folderu DerivedData
— XIII

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

pokazuje, że co najmniej dwa foldery są ogromne:

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

Usuń elementy z folderów:

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

i niektóre w:

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

2
cholera ... usuwanie plików ze starszych wersji iOS w folderze obsługi urządzeń uwolnionym 28
— GB

17

Właśnie utworzyłem repozytorium github z małym skryptem, który tworzy dysk RAM. Jeśli wskażesz folder DerivedData /Volumes/ramdisk, po wysunięciu dysku wszystkie pliki znikną.

Przyspiesza kompilację, eliminuje również ten problem

repozytorium xc-launch

Najlepiej uruchomić przy użyciu DTerm


11

XCode 8: Aby usunąć dane pochodne dla bieżącego projektu:

Kliknij menu Produkt

Przytrzymaj klawisz Opcja

Kliknij opcję Wyczyść folder budowania


Po przytrzymaniu klawisza opcji opcja Czysta kompilacja jest wyszarzona. : /
— AlxVallejo

4

AKTUALIZACJA XCODE 10

Kliknij, aby Xcode na pasku stanu, a następnie wybierz Preferencje

W oknie PopUp wybierz Lokalizacje przed ostatnim segmentem

Możesz przejść do folderu Dane pochodne za pomocą małej prawej ikony

wprowadź opis zdjęcia tutaj


2

~ / Library / Developer / Xcode / DerivedData


Domyślnie tak; Używam, ~/tmp/DerivedDataaby łatwiej dostać się do wbudowanych plików / pakietów.
— Droppy,

1

tak, bezpieczne do usunięcia, mój skrypt wyszukuje i nukuje każdą znalezioną instancję, łatwo modyfikując ją do katalogu lokalnego

#!/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


-1

Powiedziałbym, że jest bezpieczny - ja często usunąć zawartość folderu dla wielu rodzajów projektów iOS ten sposób . I nie miałem żadnych problemów z kompilacjami ani przesyłaniem do App Store. Procedura usuwa dane pochodne i czyści zasoby buforowane projektu, zarówno dla Xcode 5, jak i 6.

Czasami po prostu wywołanie rm -rf w katalogu danych pochodnych pozostawia jeden lub dwa pozostające pliki, ale mój skrypt zapętla się, dopóki wszystkie pliki nie zostaną usunięte.


Ugh. Literówka Miałem na myśli „zapewnienie”
— jasne

Ach, łączę się ze skryptem, który podałem w odpowiedzi na inne pytanie. W ten sposób, jeśli kiedykolwiek chcę zaktualizować skrypt, muszę edytować tylko w jednym miejscu. Czy możesz skorzystać z linku?
— Sheamus

Teraz widzę kod. Nie widziałem wcześniej linku (jeśli był) dzięki.
— jasne

-1

Zawartość „danych pochodnych” jest generowana w czasie kompilacji. Możesz go bezpiecznie usunąć. Wykonaj poniższe kroki, aby usunąć „Dane pochodne”:

  1. Wybierz Xcode -> Preferencje.

Krok 1

  1. Otworzy się okno podręczne. Wybierz zakładkę „ Lokalizacje ”. W zakładce Lokalizacje możesz zobaczyć „ Dane pochodne ” Kliknij ikonę strzałki obok ścieżki.

Krok 2

  1. Otworzy się folder zawierający „Dane pochodne” Kliknij prawym przyciskiem myszy i usuń folder.

Krok 3

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.