2016-06-23 8 views
0

Ich arbeite mit einer meiner ersten iPhone-Apps. Ich habe eine einfache Anmeldung für die Benutzer gemacht. Ich möchte Variable in NSUserDefaults speichern, die verfolgen wird, wenn Benutzer angemeldet ist. Wenn Benutzer angemeldet ist, wird es 1 sein, andernfalls wird es 0. Und natürlich in anderen Variablen Benutzer Benutzername.Sicherheit von NSUserDefaults in Swift

Meine Frage ist: Ist NSUserDefaults sicher, um solche Informationen zu behalten? Gibt es eine Möglichkeit, wie jemand oder Benutzer mit diesen Variablen manipulieren und sich anmelden können, ohne ein Passwort zu kennen?

+0

danke für den Link, ich habe es nicht gefunden :) – user3229841

Antwort

3

Wenn Sie Sicherheit brauchen, sollten Sie Schlüsselketten verwenden. Es codiert Werte und ist der beste Weg, um einige Sicherheitsinformationen zu speichern. Eine Sache, die Sie wissen sollten, ist, dass Sie dort nicht viele Daten speichern sollten, da dieser Speicher nicht nur für Ihre Anwendung, sondern auch für das gesamte Gerät relevant ist. Wenn Ihre Anwendung gelöscht wird, bleiben die gespeicherten Daten erhalten. Zum Beispiel würden gespeicherte Daten bei Verwendung von User Defaults sofort gelöscht (wie bei der Verwendung von Core Data).

+0

Wenn ich String und Bool in NSUserDefaults speichern, wie kann jemand den Wert dieser Variablen ändern oder sogar lesen? – user3229841

+0

Dann kann nur Ihre Anwendung sie lesen, da nur der Schlüssel benötigt wird, um diese Werte in gültige Daten zu dekodieren. – Volodymyr

+0

Sie können sie auch problemlos in Ihrer Anwendung ändern. Es gibt viele Pods, die die Arbeit mit Key Chains sehr einfach machen. – Volodymyr