2012-01-03 24 views
5

Capisco che, oltre ad alcune impostazioni generali, un'app per iOS può vedere solo i contenuti nello stesso [NSUserDefaults standardUserDefaults] creato. Immagino che il sistema operativo stia controllando l'identificatore dell'app per garantire questo, giusto? Quello che voglio sapere è se c'è un modo in cui altre applicazioni possono raccogliere informazioni che la mia app ha memorizzato nelle impostazioni predefinite dell'utente.iOS: è sicuro memorizzare informazioni utente sensibili in [NSUserDefaults standardUserDefaults]?

risposta

8

Nessun'altra app sarà in grado di accedere alle informazioni salvate nei valori predefiniti dell'utente per l'app. Ma questo non significa che l'informazione non possa essere ottenuta. Puoi collegare il tuo dispositivo a Xcode ed eseguire la tua app. Sotto i dispositivi, puoi visualizzare le informazioni della tua app e le informazioni salvate nelle impostazioni predefinite dell'utente verranno elencate qui.

In genere non è una buona idea salvare i dati sensibili degli utenti, ma non è facile da accedere, è comunque accessibile. Per dati generali non personali o impostazioni, non è davvero un grosso problema. È sempre possibile utilizzare l'accesso integrato al portachiavi per memorizzare le informazioni su nome utente e password e utilizzare le impostazioni predefinite dell'utente per qualsiasi altra cosa che potrebbe essere necessaria.

In una delle mie app, ho saltato e cancellato il nome utente e la password insieme per creare un token univoco. L'ho salvato nelle impostazioni predefinite dell'utente. Non ha valore da solo, ma è solo il mio modo di fare le cose. In bocca al lupo.

0

Generalmente No, non è consentito ad altre app di visualizzare le informazioni al di fuori del proprio Sandbox. Tuttavia, se qualcuno ha un dispositivo jailbroken, allora sì, le informazioni memorizzate nei NSUserDefaults sono visualizzabili, a meno che non si cripta il contenuto.

1

Non su un dispositivo non jailbroken. Tuttavia, l'utente, o qualcun altro con accesso fisico al dispositivo, può facilmente estrarre dal dispositivo le impostazioni predefinite dell'utente della tua app; mentre stai memorizzando cose come un nome utente o un token di autenticazione nei tuoi valori predefiniti, i dati più preziosi (come password e informazioni finanziarie) dovrebbero essere memorizzati nel Portachiavi o altrimenti crittografati.

Problemi correlati