2009-12-08 11 views
10

Können andere Apps auf dem iPhone die von Ihnen festgelegten Werte mithilfe von NSUserDefaults lesen, ohne die Telefone mit Jailbreak? Ich überlege mir, die UserID/Passwort des Kunden für unseren Service zu speichern und sicherstellen möchten, dass es sicher ist.Können andere Programme meine NSUserDefaults-Einstellungen lesen?

+0

Gute Frage. Ich weiß das nicht von ganz oben und ich sollte es tun. – TechZen

+4

Unabhängig davon, ob sie können oder nicht, sollten Sie das Passwort nicht im Klartext speichern. –

Antwort

9

Nein, andere Anwendungen können Ihre Daten nicht sehen. Das heißt, Sie sollten wahrscheinlich die keychain auf dem iPhone verwenden, um sensible Daten wie Benutzernamen und Passwörter zu speichern.

-2

aller Zunächst sollten Sie Benutzer-ID/Passwort in the keychain, nicht die Benutzereinstellungen werden zu speichern.

Zweitens, ja, andere Anwendungen können die NSUserDefaults lesen. Die Standardeinstellungen sind Unix-Stil Benutzer Standardeinstellungen nicht Anwendung Standardeinstellungen. Unter dem alten NextStep-Betriebssystem würden ihnen die Standardeinstellungen eines einzelnen Benutzers von einer Netzwerkmaschine zu einer Netzwerkmaschine folgen. Die Idee ist, dass Benutzer Präferenzen für Dinge wie Standardschriftarten haben, die alle Anwendungen verwenden sollten.

Das iPhone geerbt, dass eine abgespeckte Version von MacOS X. Ich bin mir nicht sicher, wie gründlich das Sandboxing auf iPhone-Apps ist diese Hinsicht. Es könnte möglich sein, einen Weg durch das System zu finden, wenn Sie die richtigen Schlüssel für Domains und Werte kennen.

Sicher, Apple rät dringend davon ab, vertrauliche Informationen in den Benutzereinstellungen zu behalten.

Verwandte Themen