Frage Wie kann ich die NSUserDefaults-Daten im iPhone-Simulator zurücksetzen?


Ich habe NSUserDefault Datenabruf zu meiner App hinzugefügt, was ziemlich nett ist. Aber zum Testen möchte ich alle Daten zurücksetzen, die ich der Standarddatenbank hinzugefügt habe, so dass alles in dem Zustand ist, wenn der Benutzer die App das erste Mal startet.

Ich habe versucht anzurufen:

[NSUserDefaults resetStandardUserDefaults];

aber das macht nichts. Die Standardeinstellungen sind noch gespeichert und können abgerufen werden.


49
2018-05-22 15:32


Ursprung


Antworten:


Der einfachste Weg ist, die App aus dem Simulator zu entfernen - genau wie Sie es von einem echten Telefon entfernen würden, indem Sie auf (klicken) und halten, bis die Symbole zu vibrieren beginnen. Das entfernt alle App-Daten, und wenn Sie das nächste Mal von Xcode aus installieren, ist es wie beim ersten Mal.

Wenn Sie andere App-Daten haben, die Sie behalten müssen, haben Sie einige Optionen.

Eine Möglichkeit wäre, einen Debugcode zu haben, der removeObjectForKey aufruft: auf jedem Ihrer Standardschlüssel.

Die andere Möglichkeit besteht darin, das Verzeichnis zu finden, in dem die Simulatorkopie installiert ist, und die Datei mit den Einstellungen zu entfernen. Benutze dies, um die App zu finden:

ls -ld ~/Library/Application\ Support/iPhone\ Simulator/User/Applications/*/*.app

Der vollständige Pfad zu Ihrer App enthält ein Verzeichnis, dessen Name eine UUID ist. Suchen Sie in diesem Verzeichnis in Library / Preferences nach der Einstellungsdatei. Entfernen Sie das und die Benutzereinstellungen sind weg.


52
2018-05-22 16:02



Sie wollen NSUserDefaults removePersistentDomainForName. Dadurch werden alle Benutzerstandardeinstellungen für die Anwendung entfernt:

NSString *appDomain = [[NSBundle mainBundle] bundleIdentifier];
[[NSUserDefaults standardUserDefaults] removePersistentDomainForName:appDomain];

Für weitere Informationen über die NSUserDefaults Klasse siehe Apple-Dokumente.

Wenn Sie sich nur mit Daten im iOS-Simulator beschäftigen, können Sie das auch tun iOS Simulator> Inhalt und Einstellungen zurücksetzen.

enter image description here


97
2018-03-12 18:29



Sie können herausfinden, was Sie in userdefaults für die App "geschrieben" haben, sind alle innerhalb einer Datei Löschen Sie diese .plist Datei funktioniert:

user name/Library/Preferences/com.theAppYouAreHandling.plist

6
2018-05-09 05:25



Eigentlich mag dies nicht unter allen Umständen passend sein, aber da ich im Simulator keine Wertangaben hinterlasse, setze ich einfach Inhalte und Einstellungen aus dem iPhone-Menü aus dem Simulator selbst zurück.


5
2018-05-22 22:00



In Swift 2.0 setzt die folgende 1 Zeile alle NSUserDefaults für eine App zurück:

NSUserDefaults.standardUserDefaults().removePersistentDomainForName(NSBundle.mainBundle().bundleIdentifier!)


5
2017-10-16 12:44



Bis xCode 6 und iOS8 Simulator wurde der Speicherort der PLIST-Datei geändert.

Ich habe die * .plist im folgenden Verzeichnis gefunden:

[1] /Users/SOME-USERNAME/Library/Developer/CoreSimulator/Devices/SOME-DEVICE-ID/data/Library/Preferences/SP.UserDefaultsTest.plist

Löschen der gefundenen Datei aus Pfad [1] manuell und die NSUserDefaults sind weg.


3
2017-10-16 11:48



Hier ist die schnelle Version:

let domainName = NSBundle.mainBundle().bundleIdentifier!       
NSUserDefaults.standardUserDefaults().removePersistentDomainForName(domainName)

2
2017-10-03 06:45



Im oberen Bereich des Simulators:

Simulator -> Reset Content and Settings...

1
2018-05-28 17:42