Czy istnieje prosty sposób na wyczyszczenie katalogu, w którym xcode wdraża aplikację podczas tworzenia symulatora iPhone'a? Mam bazę danych sqlite, która w razie potrzeby jest kopiowana do folderu Dokumenty podczas uruchamiania. Problem polega na tym, że mogę zmienić schemat, ale nowa baza danych nie zostanie skopiowana, ponieważ taka już istnieje.
Idealnie byłoby, gdyby za każdym razem, gdy budowałem, niszczyłoby to poprzednią zawartość. Czy to możliwe, czy muszę to zrobić ręcznie?
iphone
xcode
ios-simulator
Travis Jensen
źródło
źródło
Odpowiedzi:
Symulator instaluje aplikacje w:
Sprawdź również:
Pliki i katalogi GUID pasują do zainstalowanych aplikacji symulatora.
Ręcznie usuń wszystkie te pliki / katalogi, aby usunąć wszystkie aplikacje z symulatora.
Wiem, że istnieje sposób na dodanie skryptów do procesu kompilacji w XCode.
Wygląda również na to, że XCode zmienia identyfikator GUID, którego używa przy każdej kompilacji (katalog, w którym moja aplikacja przechowuje zmiany między kompilacjami w XCode), więc próba usunięcia tego samego katalogu przez cały czas nie zadziała. Jeśli pracujesz tylko nad jedną aplikacją naraz, opcją byłoby wyczyszczenie całego katalogu.
źródło
git reset HEAD --hard && git clean -f
aby usunąć subskrypcję kalendarza po dodaniu go.Z zasobów deweloperskich firmy Apple:
To przypomina:
źródło
Hardware > Reset Content and Settings
Sposób, w jaki to robię, to po prostu kliknięcie i przytrzymanie ikony mojej aplikacji w symulatorze - a gdy zacznie się poruszać, kliknij czarno-biały (x). Pojawi się komunikat z pytaniem, czy naprawdę chcesz usunąć i po prostu kliknij Tak. Następnym razem, gdy będziesz budować i wdrażać swoją aplikację, użyje ona nowej bazy danych sqlite bez żadnych problemów i nie musisz grzebać w systemie plików.
źródło
Po iOS 5 na Mac OS X Lion możesz spróbować:
RemoveSimulatorApps.command
który zawiera:PATH
.Założenia
źródło
może to być przesada, ale ...
możesz także skorzystać z menu i opcji „Resetuj zawartość i ustawienia ...”
źródło
To, co naprawdę próbujesz zrobić, to wyczyścić bazę danych, jeśli zmieniłeś schemat. Jednym ze sposobów, aby to zrobić, i uczyniłoby cię szczęśliwszym na dłuższą metę, gdy zaczniesz sprzedawać wersję 2.0, 3.0 itd. Swojej aplikacji, jest sprawdzenie wersji tabeli sqlite, a jeśli się zmieniła, odrzuć stary plik i użyj tego z pakietu.
Znalezienie sposobu na wyczyszczenie symulatora nie rozwiąże rzeczywistego problemu, jak wyczyścić iPhone'a klienta, gdy wysyłasz nową wersję z nowym schematem.
Aby uzyskać dodatkowe punkty, po ustaleniu, że napotkałeś stary schemat, możesz skopiować nową bazę danych bez niszczenia starej i załadować wszelkie interesujące dane ze starej bazy danych do nowej. Następnie usuń starą bazę danych. W ten sposób możesz zachować dodatki użytkownika do bazy danych.
źródło
dla Xcode> = 6
źródło
Jeśli używasz Xcode 9 -> Pasek menu -> Sprzęt -> Usuń całą zawartość i ustawienia
źródło
Począwszy od Xcode 6, możesz to zrobić z wiersza poleceń za pomocą: xcrun simctl erase
Ponadto aplikacja iOS Simulator (zarówno wersja Xcode 6, jak i starsze wersje) zawiera element menu o nazwie „Resetuj zawartość i ustawienia”, za pomocą którego można wymazać aktualnie uruchomione urządzenie.
źródło
Działa to z Xcode 6:
W przypadku .bash_profile
źródło
Od Xcode 6:
xcrun simctl erase <sim udid>
<- resetuje symulator.źródło
Wyczyść pamięć podręczną Xcode;
(Użyj obu z nich, ponieważ mają różne funkcje)
Zawartość Clear Derived Data;
Prawy panel pokazuje nazwę folderu, a także przycisk usuwania po prawej stronie umożliwia usunięcie całej zawartości danych pochodnych.
Wyczyść pamięć podręczną symulatora;
źródło
Jak wyjaśniłem w komentarzu pod zweryfikowaną odpowiedzią :
Testowałem dodawanie i usuwanie subskrypcji kalendarza. Na prawdziwym urządzeniu możesz usunąć subskrypcję kalendarza w Ustawieniach , Konta, ale to menu nie istnieje w Symulatorze iOS i nie chciałem resetować całego symulatora.
Skończyło się na tym, że lokalnie wersjonowałem mój folder urządzenia za pomocą git i wykonałem następujące polecenia, aby usunąć subskrypcję kalendarza po jej dodaniu:
Oto kroki:
~/Library/Developer/CoreSimulator/Devices/
i zróbcd
to, a następniegit init
utwórz repozytorium gitgit commit -a "Message"
git reset --hard HEAD
git commit
znikną.źródło
W XCode przejdź do opcji menu Okno, wybierz Urządzenia, a następnie możesz po prostu usunąć te, których już nie potrzebujesz.
źródło
Dla Xcode <= 5
Dodałem do mojego
~/.bash_profile
Po prostu niszczy wszystkie aplikacje na karcie SIM.
źródło