Czy istnieje szybszy / lepszy sposób na wyczyszczenie pamięci podręcznej symulatora iPhone'a niż usunięcie jego katalogu?


95

Więc nadal jestem dość nowy w programowaniu na iOS i dość regularnie muszę usuwać albo DerivedData, albo zawartość katalogu iPhone Simulator, aby rzeczy były faktycznie wykonywane z mojego kodu. Czyszczenie w Xcode nie robi tego samego, co opróżnianie tych katalogów, prawda? A jeśli nie, to czy jest na to łatwiejszy sposób niż taszczenie Findera, żeby się do nich dostać i sprzątanie ich?


3 lata temu może to nie była opcja, ale sprawdź moją odpowiedź, na mnie działa!
— Adrian Florescu

Odpowiedzi:


125

66:99 i wspinaczka:

Tak , jest lepszy sposób niż wejście do każdego symulatora w mieście i resetowanie zawartości i ustawień pojedynczo. Również znacznie lepsze niż zaglądanie do katalogu symulatora i szarpanie pamięci podręcznej spod jego stóp.

Zamknij iPhone Simulator, a następnie uruchom xcrunw Terminalu:

xcrun simctl erase all

Bezpieczne i skuteczne.

Zobacz https://stackoverflow.com/a/26394597/218152 dla jednego urządzenia

xcrun simctl erase [identyfikator urządzenia]


Czy to jednak wymazuje same symulatory? Więc musiałbym później ponownie dodać je na ekranie Urządzenia Xcode?
— Łukasz

1
Tylko treść. Wymaż z dokumentacji ( xcrun simctl help) : wymazanie zawartości i ustawień urządzenia. , nie mylić z usuwaniem : Usuń urządzenie lub wszystkie niedostępne urządzenia.
— SwiftArchitect

Niesamowite. Kusiło mnie, żeby zmienić moją poprawną odpowiedź w świetle tego :)
— Łukasz

@lukech: Bardzo cenione. Natknąłem się na to rozwiązanie, próbując zaoszczędzić pamięć na moim HD i szukałem rozwiązania clean build folder. I rekwizyty za utrzymywanie tego pytania jako aktywnego.
— SwiftArchitect

to polecenie trwa wiecznie, jak wybrać docelową kartę SIM z uuid?
— the_prole

104

W menu symulatora iOS jest opcja o nazwie Resetuj zawartość i ustawienia ...

To powinno załatwić sprawę.

EDYTOWAĆ:

Aby uczynić to znacznie szybszym i łatwiejszym, dodałem taki klawisz skrótu ...

W Preferencjach systemowych wybierz opcję Klawiatura

Preferencje systemowe klawiatury

Następnie wybierz kartę Skróty . I kliknij opcję Skróty do aplikacji

Skróty do aplikacji Kliknij przycisk plusa, aby dodać kolejny skrót.

wprowadź opis obrazu tutaj W końcu:

  1. Kliknij theChoose Simulator z aplikacji: rozwijanej. Jeśli go tam nie ma, przewiń na dół listy aplikacji i wybierz „Inne ...”. Następnie wpisz „symulator” w polu wyszukiwania i stamtąd dodaj Symulator.
  2. Wpisz Wymaż całą zawartość i ustawienia ... w Tytuł menu: pole tekstowe.
  3. Wpisz żądany klawisz skrótu do skrótu klawiszowego: . (Używam okresu polecenia)
  4. Kliknij przycisk Dodaj .

wprowadź opis obrazu tutaj

Teraz, będąc w symulatorze iOS, możesz po prostu użyć nowego klawisza skrótu, aby zresetować.


Jeśli symulator nie pojawia się na liście rozwijanej:

  1. W oknie Findera przejdź do folderu Aplikacje.
  2. Kliknij prawym przyciskiem myszy Xcode i wybierz „Pokaż zawartość pakietu”.
  3. Nawigować do Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/
  4. Zobaczysz iPhone Simulator.app.
  5. Teraz w aplikacji Ustawienia zamiast wybierać brakujący symulator iOS, wybierasz Inne ...
  6. Spowoduje to wyświetlenie okna z listą aplikacji.
  7. Teraz przeciągnij iPhone Simulator.app z okna Findera do okna, które pojawiło się po kliknięciu Inne ....

Symulator iOS nie pojawia się już na liście rozwijanej aplikacji. Czy powinienem po prostu wybrać „xCode.app”? Korzystam z systemu operacyjnego 10.8.3 z iOS Simulator 6.0.
— potench

8
W oknie wyszukiwarki przejdź do folderu Aplikacje. Kliknij Xcode z klawiszem Option i wybierz „Pokaż zawartość pakietu”. Przejdź do Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/folderu. Zobaczysz iPhone Simulator.app. Teraz w aplikacji Ustawienia zamiast wybierać iOS Simulatorbrakujące, wybierasz Other.... Spowoduje to wyświetlenie okna z listą aplikacji. Teraz przeciągnij iPhone Simulator.appz okna Findera do okna, które pojawiło się po kliknięciu Other....
— Jeff Wolski

1
Przyszedłem tutaj, szukając czegoś innego, ale przeszedłem przez twoje kroki tylko dlatego, że twoja odpowiedź była tak dobra. dzięki!
— kodybrown

1
Reset Content and Settingsnie wyczyści zasobów po stronie klienta w sieci VPN. Przez chwilę walczyłem z tym, zastanawiając się, dlaczego moje animacje CSS działają wszędzie oprócz symulatora, tylko po to, aby dowiedzieć się, że buforuje stare pliki, nawet gdy usunąłem zawartość i ustawienia. Jedyną rzeczą, która zakończyła się dla mnie pracą, było rozłączenie się z moją siecią VPN i ponowne uruchomienie maszyny wirtualnej, a następnie ponowne połączenie (platforma, z której korzystam, zawiera wersje wszystkich moich zasobów) - możesz również wersjonować je ręcznie, jeśli tylko testujesz rzeczy, ale to denerwujące. To jest coś, co Apple powinno naprawić; dzieje się tak tylko podczas testowania dla mnie na iOS.
— Benny

3
Jeśli nie możesz znaleźć symulatora na ścieżce Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/wskazanej przez @JeffWolski, możesz go wyszukać, wpisując hasłosimulator.app
— atulkhatri

9

Tworzenie stron internetowych i testowanie w symulatorze iOS (Safari):

  1. Po otwarciu zarówno iOS Simulator, jak i Safari, przejdź do Safari> Develop> iOS Simulator i wybierz swoją stronę, która zapewni dostęp do narzędzi Web Inspector.

  2. Przejdź do Safari> Develop> Empty Caches, aby wyczyścić pamięć podręczną w iOS Safari.


@AdrianFlorescu jest to rozwiązanie do debugowania tworzenia stron internetowych w przeglądarce Safari na iOS, ale myślę, że pytanie dotyczyło tworzenia aplikacji na iOS.
— Ryan,

4
Nie działa w Safari 9.0.3 ze zdalnym debugerem. „Wyłącz pamięci podręczne” również nie działa.
— Gamadril

1
To ustawienie nic dla mnie nie robi (tak naprawdę nie czyści pamięci podręcznej na mobilnym safari)
— HandiworkNYC.com

Tak. Wygląda na to, że nie czyści już pamięci podręcznej iOS. Myślę, że tak było w przeszłości ...
— Yosh,

1
jest to jedyne rozwiązanie, które wydaje się działać stackoverflow.com/a/51421939/1055015
— Exlord
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.