Odkryłem, że Xcode na moim laptopie zużywa dużo miejsca, więc próbuję usunąć niepotrzebne pliki w Xcode.
Istnieją cztery katalogi poniżej Application/Xcode.app/Contents/Developer/Platforms/
. Czuję to WatchSimulator.platform
i AppleTVSimulator.platform
nie jest to konieczne, ponieważ Xcode używam prawie tylko do podstawowego programowania iOS.
Chciałbym wiedzieć, czy mogę bezpośrednio usunąć katalogi tych platform?
ls
Terminal nie mają flagi, aby zobaczyć, że plik korzysta z hfsCompression , bez arkusza informacji, w którym można zobaczyć, że wartość na dysku jest dramatycznie inna niż rozmiar w bajtach . Istnieje narzędzie napisane przez osobę trzecią, które zawiera kod źródłowy, jeśli chce się go samodzielnie skompilować, afsctool . Wśród jego możliwości jest uzyskanie informacji o istniejących skompresowanych plikach HFS +.Odpowiedzi:
Tak, możesz usunąć dowolny nieużywany symulator. Robię to rutynowo, gdy przestaję obsługiwać starsze wersje iOS.
Jeśli je usuniesz, a okaże się, że będziesz ich potrzebować w przyszłości, możesz pobrać je ponownie ze strony programisty Apple.
Najlepszym sposobem na ich usunięcie jest Xcode. Idź do
Window -> Devices and Simulators
. Spowoduje to otwarcie nowego okna ze wszystkimi urządzeniami używanymi w Xcode.Na górze dotknij,
Simulators
a zobaczysz listę po lewej stronie.Stamtąd znajdź symulator, który chcesz usunąć, i Cntl- kliknij (lub kliknij prawym przyciskiem myszy) i wybierz
Delete
.Robię to z każdym symulatorem, który działa w każdej wersji iOS, której już nie obsługuję.
źródło
Xcode udostępnia teraz symulatory wszystkim użytkownikom. Musisz więc usunąć symulatory z następującego folderu:
Na przykład:
Twoje zdrowie!
źródło
Za pomocą tego polecenia w terminalu możesz łatwo usunąć wszystkie niedostępne symulatory:
źródło
xcrun simctl list
zobaczysz, że tylko ~ 10% urządzeń uważa się za „niedostępne”. Także urządzenia nie są tutaj prawdziwymi kosmicznymi świniami. środowiska uruchomieniowe iOS są. @ Odpowiedź Francoisa jest znacznie lepsza w praktyce.wc -l
) 148 linii na liście z „niedostępnymi” i 128 wyjściami. Powyższe polecenie usunięcia zwróciło mi 14 GBPomimo odpowiedzi @ fsb pozwala usunąć „wystąpienia” symulatora, właściwym sposobem na zwolnienie ogromnej przestrzeni używanej przez stare platformy symulatorów, które nie są już potrzebne, jest przejście do następującego folderu:
i usuń foldery odpowiadające symulatorowi / platformom, których już nie potrzebujesz.
Dodatkowo jest bardzo dobry artykuł z innymi tymi i innymi wskazówkami:
źródło
/Library/Developer/Xcode
został usunięty po nowej aktualizacji systemu macOS. Nigdzie nie mogę tego znaleźć.~/Library/Developer/Xcode/iOS DeviceSupport
.Gdzie Xcode przechowuje symulatory w 2019+ Catalina, Xcode 11.0
Runtimes
$ open /Library/Developer/CoreSimulator/Profiles/Runtimes
Na przykład
iOS 13.0
,watchOS 6.0
Przyjmują one najwięcej miejsca, zdecydowanie. Każdy może mieć do ~ 5 GBPomysłowość
$ open ~/Library/Developer/CoreSimulator/Devices
Na przykład:
iPhone Xr
,iPhone 11 Pro Max
. Zazwyczaj są one mniejsze niż 15 mb.Wyjaśnienie
Symulatory są podzielone między środowiska wykonawcze i urządzenia. Jeśli uruchomisz
$ xcrun simctl list
, zobaczysz przegląd, ale jeśli chcesz znaleźć fizyczną lokalizację tych symulatorów, zajrzyj do tych katalogów, które pokazałem.Usuwanie środowisk uruchomieniowych, które nie są obsługiwane, jest całkowicie bezpieczne. Możesz zainstalować je później, jeśli chcesz.
źródło
aby wyświetlić listę wszystkich symulatorów
xcrun simctl list devices
lubxcrun simctl list --json
aby usunąć określone urządzenie
xcrun simctl delete <device udid>
aby usunąć stare urządzenia dla środowisk wykonawczych, które nie są już obsługiwane
xcrun simctl delete unavailable
źródło
xcrun simctl delete all
przypuszczam, że możesz użyćOtwórz Terminal.app i uruchom następujące polecenie:
cd /Library/Developer/CoreSimulator/Profiles/Runtimes
Teraz wpisz poniżej wersję iOS, dla której chcesz usunąć symulatory, na przykład, jeśli chcesz usunąć dla iOS 12.0, uruchom:
sudo rm -rf iOS\ 12.0.simruntime/
źródło
Aby usunąć symulatory według wersji iOS:
Jeśli chcesz usunąć tylko symulatory dla określonej wersji, a akurat masz
fastlane
zainstalowane, możesz uruchomić interaktywną powłokę Ruby i uruchomić następujące polecenia, aby usunąć wszystkie symulatory iOS 10:źródło