Gibt es eine einfache Möglichkeit, das Verzeichnis zu bereinigen, in dem xcode beim Erstellen für den iPhone-Simulator eine App bereitstellt? Ich habe eine SQLite-Datenbank, die beim Start bei Bedarf in den Ordner "Dokumente" kopiert wird. Das Problem ist, dass ich möglicherweise mein Schema ändere, die neue Datenbank jedoch nicht kopiert wird, da bereits eine vorhanden ist.
Idealerweise würde es jedes Mal, wenn ich baue, den vorherigen Inhalt zerstören. Ist das möglich oder muss ich es manuell machen?
iphone
xcode
ios-simulator
Travis Jensen
quelle
quelle
Antworten:
Der Simulator installiert Apps in:
Überprüfen Sie auch:
Die GUID-Dateien und -Verzeichnisse stimmen mit den installierten Apps des Simulators überein.
Löschen Sie alle diese Dateien / Verzeichnisse manuell, um alle Anwendungen aus dem Simulator zu entfernen.
Ich weiß, dass es eine Möglichkeit gibt, dem Erstellungsprozess in XCode Skripte hinzuzufügen.
Es sieht auch so aus, als ob XCode die GUID ändert, die es für jeden Build verwendet (das Verzeichnis, in dem sich meine App befindet, ändert sich zwischen den Builds in XCode), sodass der Versuch, immer dasselbe Verzeichnis zu löschen, nicht funktioniert. Wenn Sie jeweils nur an einer App arbeiten, ist das Löschen des gesamten Verzeichnisses eine Option.
quelle
git reset HEAD --hard && git clean -f
ein Kalenderabonnement entfernt, nachdem ich es hinzugefügt habe.Von Apples Dev Resources:
Das ähnelt:
quelle
Hardware > Reset Content and Settings
Ich klicke dazu einfach auf das Symbol für meine App im Simulator und halte es gedrückt. Wenn es zu wackeln beginnt, klicke auf das Schwarzweiß (x). Es wird eine Meldung angezeigt, in der Sie gefragt werden, ob Sie wirklich löschen möchten, und Sie klicken einfach auf Ja. Wenn Sie Ihre App das nächste Mal erstellen und bereitstellen, wird die neue SQLite-Datenbank problemlos verwendet, und Sie müssen nicht im Dateisystem herumspielen.
quelle
Nach iOS 5 unter Mac OS X Lion können Sie Folgendes versuchen:
RemoveSimulatorApps.command
:PATH
.Annahmen
quelle
es kann übertrieben sein, aber ..
Sie können auch das Menü und "Inhalt und Einstellungen zurücksetzen ..." verwenden.
quelle
Was Sie wirklich versuchen, ist, Ihre Datenbank zu löschen, wenn Sie das Schema geändert haben. Eine Möglichkeit, dies zu tun, und die Sie auf lange Sicht glücklicher macht, wenn Sie mit dem Versand von Version 2.0, 3.0 usw. Ihrer App beginnen, besteht darin, die Version Ihrer SQLite-Tabelle zu überprüfen. Wenn sich diese geändert hat, verwerfen Sie die alte Datei und verwenden Sie die in Ihrem Bundle.
Wenn Sie einen Weg finden, den Simulator zu bereinigen, hilft dies nicht dem realen Problem, wie Sie das iPhone eines Kunden bereinigen können, wenn Sie eine neue Version mit einem neuen Schema ausliefern.
Nachdem Sie festgestellt haben, dass Sie auf ein altes Schema gestoßen sind, möchten Sie für zusätzliche Punkte möglicherweise die neue Datenbank kopieren, ohne die alte zu zerstören, und interessante Daten aus der alten Datenbank in die neue laden. Dann blasen Sie die alte Datenbank weg. Auf diese Weise können Sie die Ergänzungen Ihres Benutzers zur Datenbank beibehalten.
quelle
für Xcode> = 6
quelle
Wenn Sie Xcode 9 verwenden -> Menüleiste -> Hardware -> Alle Inhalte und Einstellungen löschen
quelle
Ab Xcode 6 können Sie dies über die Befehlszeile tun mit: xcrun simctl erase
Außerdem verfügt die iOS Simulator-App (sowohl die Xcode 6-Version als auch ältere Versionen) über einen Menüpunkt namens "Inhalt und Einstellungen zurücksetzen", mit dem das aktuell gebootete Gerät gelöscht werden kann.
quelle
Dies funktioniert mit Xcode 6:
Für .bash_profile
quelle
Ab Xcode 6:
xcrun simctl erase <sim udid>
<- setzt den Simulator zurück.quelle
Xcode-Cache löschen;
(Verwenden Sie beide, weil sie unterschiedliche Funktionen haben)
Abgeleiteten Dateninhalt löschen;
Im rechten Bereich wird der Name des Ordners angezeigt. Auf der rechten Seite können Sie auch alle abgeleiteten Dateninhalte löschen.
Simulator-Cache löschen;
quelle
Wie ich in einem Kommentar unter der validierten Antwort erklärt habe :
Ich habe das Hinzufügen und Entfernen von Kalenderabonnements getestet. Auf einem realen Gerät können Sie ein Kalenderabonnement unter Einstellungen , Konten entfernen , aber dieses Menü ist in iOS Simulator nicht vorhanden und ich wollte nicht den gesamten Simulator zurücksetzen.
Daher habe ich meinen Geräteordner lokal mit git versioniert und die folgenden Befehle ausgeführt, um ein Kalenderabonnement zu entfernen, nachdem ich es hinzugefügt habe:
Die Schritte sind also:
~/Library/Developer/CoreSimulator/Devices/
und führencd
Siegit init
eine Aktion durch, um dann ein Git-Repository zu erstellengit commit -a "Message"
git reset --hard HEAD
git commit
sind weg.quelle
Gehen Sie in XCode zur Menüoption Fenster, wählen Sie Geräte aus und löschen Sie einfach die Geräte, die Sie nicht mehr benötigen.
quelle
Für Xcode <= 5
Ich habe folgendes zu meinem hinzugefügt
~/.bash_profile
Es macht einfach alle Apps auf der Sim kaputt.
quelle