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?

Łukasz
źródło
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]

SwiftArchitect
źródło
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 ....
Jeff Wolski
źródło
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.

Adrian Florescu
źródło
@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