Jak wyczyścić pamięć podręczną Xcode na Macu (DerivedData, Archiwa, Symulatory)
Jak wyczyścić pamięć podręczną Xcode na Macu (DerivedData, Archiwa, Symulatory)
Jeśli tworzysz aplikacje na iOS lub macOS, Xcode jest jednym z najszybszych sposobów na zużycie miejsca na dysku. Pamięć podręczna DerivedData, Archiwa, symulatory i SwiftPM może urosnąć do dziesiątek gigabajtów bez żadnego ostrzeżenia w przeglądzie Pamięci masowej.
Ten przewodnik wyjaśnia, do czego służy każdy folder, co można bezpiecznie usunąć i jak zautomatyzować czyszczenie. Aby zapoznać się z szerszą strategią zarządzania pamięcią masową, zobacz jak zwolnić miejsce na dysku Maca.
Dlaczego Xcode zużywa tyle miejsca
Xcode przechowuje kilka niezależnych kategorii danych:
- DerivedData — pośrednie produkty kompilacji, indeksy i pamięci podręczne modułów. Można bezpiecznie usunąć; Xcode odbuduje je przy następnej kompilacji.
- Archiwa — kompilacje wydania dla App Store Connect i dystrybucji ad-hoc. Stare archiwa są często zapominane.
- Symulatory — pełne obrazy środowiska uruchomieniowego urządzenia. Usunięcie nieużywanych środowisk uruchomieniowych odzyskuje duże ilości miejsca.
- SwiftPM — wyewidencjonowane pliki i artefakty kompilacji w folderach
.buildoraz pamięć podręczna SwiftPM. - Wsparcie dla urządzeń — symbole dla podłączonych urządzeń iOS; starsze wersje można usunąć, jeśli nie testujesz już tych wersji systemu operacyjnego.
Żaden z tych elementów nie jest „Twoim kodem źródłowym”. Są to artefakty, które można odtworzyć, dlatego ich usunięcie zazwyczaj wiąże się z niskim ryzykiem.
Ręczne czyszczenie DerivedData
- Zamknij Xcode.
- Otwórz Finder i naciśnij Shift + Command + G.
- Wklej:
~/Library/Developer/Xcode/DerivedData - Usuń zawartość (lub cały folder). Xcode utworzy go ponownie.
Alternatywnie, w Xcode: Ustawienia → Lokacje → Derived Data i kliknij strzałkę, aby otworzyć folder w Finderze.
Usuwanie starych archiwów
Archiwa znajdują się pod adresem:
~/Library/Developer/Xcode/Archives
Każdy folder z datą to archiwum Xcode. Usuń archiwa dla starych wersji, których już nie musisz wysyłać ani debugować. Zachowaj najnowsze, jeśli nadal symbolizujesz dzienniki awarii z tych kompilacji.
Przycinanie środowisk uruchomieniowych symulatorów
- Otwórz Xcode → Ustawienia → Platformy (lub Komponenty w starszych wersjach Xcode).
- Usuń środowiska uruchomieniowe iOS/watchOS/tvOS, których już nie używasz.
Możesz również usunąć dane z ~/Library/Developer/CoreSimulator — ale preferuj usuwanie platform za pośrednictwem Xcode, aby uniknąć uszkodzenia aktywnych projektów.
SwiftPM i CocoaPods
- SwiftPM: Wyewidencjonowane pliki w
~/Library/Caches/org.swift.swiftpmi foldery.buildprojektu. - CocoaPods: Folder
Podsmożna ponownie wygenerować za pomocąpod install.
Jeśli nie masz pewności, wykonaj kopię zapasową lub użyj kontroli wersji przed usunięciem dużych folderów w projekcie.
Automatyzacja czyszczenia Xcode za pomocą NythyCleaner
NythyCleaner zawiera sekcję Deweloper / Xcode, która skanuje typowe ścieżki deweloperskie, podsumowuje, ile miejsca zajmuje każda kategoria, i pozwala je wyczyścić w jednym procesie. Możesz go połączyć z:
- Miejsce na dysku — widok mapy drzewa, aby zobaczyć, gdzie trafia miejsce poza Xcode.
- Czyszczenie systemu — pamięci podręczne i logi, które gromadzą się obok Xcode.
Lista kontrolna bezpieczeństwa
- Zamknij Xcode przed usunięciem DerivedData lub dużych danych symulatora.
- Nie usuwaj folderów
~/Developerani folderów projektu, chyba że masz taki zamiar. - Zachowaj najnowsze archiwa App Store, jeśli nadal musisz przesyłać lub debugować pasujące kompilacje.
Podsumowanie
| Lokalizacja | Typowa zawartość | Czy można bezpiecznie usunąć? |
|---|---|---|
| DerivedData | Wyniki kompilacji, indeksy | Tak (odbudowuje się) |
| Archiwa | Archiwa IPA/związane z IPA | Tak, jeśli przestarzałe |
| Symulatory | Obrazy środowiska uruchomieniowego | Tak, nieużywane środowiska uruchomieniowe |
| Pamięć podręczna SwiftPM | Zależności, kompilacje | Zazwyczaj tak |
Regularne czyszczenie pamięci podręcznej Xcode utrzymuje szybkie dyski SSD i zapobiega niespodziewanym błędom „dysk pełny” podczas kompilacji.