Jak mogę bezpiecznie usunąć katalog ~ / Library / Developer / Xcode / DerivedData?

90

Chciałbym usunąć stare (możliwe do zastąpienia?) Dane, a zawartość DerivedData wydaje się prawdopodobnym kandydatem. Ponieważ jest to nazwa DerivedData , zakładam, że jest to informacja, która w przypadku jej braku zostanie wygenerowana podczas fazy kompilacji i jeśli jest obecna, zostanie użyta w tej samej fazie. Wydaje się więc logiczne, że mogłem bez strachu usunąć wszelkie stare dane projektu i jeśli kiedykolwiek zbuduję ten stary projekt, za pierwszym razem zajmie to więcej czasu niż normalnie, trzeba będzie odtworzyć wszystkie te dane pochodne.

Czy się tu mylę?

soob
źródło
8
Bądź BARDZO ŚWIADOMY, że jak wyjaśnia Joshua, ten cholerny folder zawiera „dane dSYM do późniejszego debugowania. ... nie usuwaj, jeśli chcesz mieć możliwość debugowania wdrożonych wersji aplikacji”
Fattie,
Być może powinienem użyć każdej sztuczki ze znacznikami SO oprócz nacisku, aby przywołać ten punkt w mojej odpowiedzi. :-D Block-quoted-star-slash-commented-code-bold-italic-bulleted-list, etc.
Joshua Nozzi
17
@JoeBlow właściwie, jak wyjaśnia Joshua, jest to katalog Archives, który zawiera „dane dSYM do późniejszego debugowania”. Archives Katalog jest rodzeństwo z DerivedData katalogu, co oznacza, że znajduje się na tym samym poziomie, poniżej ~/Library/Developer/Xcode, jak DerivedData , tak że „krwawy folder” (DerivedData) czy nie zawierają danych dSYM i jego zawartość może być bezpiecznie usunięte.
mluisbrown,
4
Za każdym razem, gdy wypuszczam nową wersję, kopiuję plik .xcarchive z Xcode do mojego repozytorium git i utrzymuję go pod kontrolą wersji - jest to dobry sposób, aby zawsze móc uzyskać stare pliki .dSYM bez uzależnienia od katalogów Xcode konkretnej maszyny.
Bill

Odpowiedzi:

123

Danych pochodzących Folder zawiera wszystkie informacje pośredni budować, debug- i cele zwalniające zbudowany, jak również indeks Twojego projektu. Jest to pomocne , aby usunąć dane pochodzące gdy masz dziwne problemy indeksowych (zakończenie kod nie działa prawidłowo, stały ponownego indeksowania, a nawet po prostu powolne projektu). Usunięcie całego folderu niszczy te informacje dla wszystkich projektów, o których wie Xcode 4.

Archives folderu (rodzeństwo opracowanych danych) zawiera zarchiwizowany formę swoich celów. Oznacza to, że kompilacja wydania oraz dane dSYM do późniejszego debugowania. Nie należy tego usuwać, jeśli chcesz mieć możliwość debugowania wdrożonych wersji aplikacji.

Możesz nuke uzyskać dane pochodne dla danego projektu, otwierając okno Organizatora i wybierając kartę Projekty. Wybierz żądany projekt i kliknij przycisk Usuń obok ścieżki danych pochodnych. Jest to bardziej „chirurgiczny strajk” w przypadku problematycznych projektów.

Joshua Nozzi
źródło
1
Pewnie. Przejdź do wiersza poleceń i wpisz „man rm” - idź na całość. :-)
Joshua Nozzi
9
Westchnienie. Wiem rm. Chciałem znaleźć sposób na rozwiązanie folderu związanego z projektem, np ~/Library/Developer/Xcode/DerivedData/MyProject-hghjhjhkjh/. Najłatwiejszym sposobem, jaki znalazłem, jest ustawienie folderu DerivedData względem folderu projektu, za pomocą preferencji XCode.
asgoth
4
Wystarczy krótka notatka: W XCode 6.x , projectssą we własnym oknie (nie organizator).
Olie
1
Podoba mi się twój żargon wojskowy XD
Josh
1
FWIW wiele nowych narzędzi dystrybucyjnych (AppCenter, HockeyApp, Crashlytics, itp.) Wymaga przekazania plików dSYM, abyś nie musiał ich samodzielnie przechowywać.
Honey
38

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

  1. Wybierz Xcode -> Preferencje ..

Krok 1

  1. Otworzy się wyskakujące okienko. Wybierz zakładkę „ Lokalizacje ”. Na karcie podrzędnej Lokalizacje można 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

Jayprakash Dubey
źródło
Więc jeśli moja aplikacja jest w symulatorze, ale nie działa z kodu i jeśli usunę, a następnie uruchomię ponownie z kodu, czy spowoduje to jakiś problem?
Manthan
@Manthan: Nie, to nie spowoduje żadnego problemu.
Jayprakash Dubey
30

Tak, te dane są generowane w czasie kompilacji i możesz je usunąć, jeśli chcesz, nie stanowi to problemu.

Zostanie odtworzony po ponownym zbudowaniu.

amrit_neo
źródło