ho un campo di testo,Salva nome utente e Pass Objective C iPhone
Numero e Password
non ho idea di come salvare le impostazioni e poi leggerli come l'applicazione si avvia per controllare se sono sono stati impostati o no.
Grazie
Mason
ho un campo di testo,Salva nome utente e Pass Objective C iPhone
Numero e Password
non ho idea di come salvare le impostazioni e poi leggerli come l'applicazione si avvia per controllare se sono sono stati impostati o no.
Grazie
Mason
salvare:
[[NSUserDefaults standardUserDefaults] setValue:_email forKey:@"email"];
[[NSUserDefaults standardUserDefaults] setValue:_password forKey:@"password"];
[[NSUserDefaults standardUserDefaults] synchronize];
a leggere:
_email = [[NSUserDefaults standardUserDefaults] stringForKey:@"email"];
_password = [[NSUserDefaults standardUserDefaults] stringForKey:@"password"];
Nel tuo caso:
[[NSUserDefaults standardUserDefaults] setValue:Number.text forKey:@"Number"];
E:
NSString * number = [[NSUserDefaults standardUserDefaults] stringForKey:@"Number"];
la "chiave" di solito è hard-coded e funziona come un "nome di variabile" per le cose in deposito (coppie tipico nome/valore come un dizionario).
Per verificare se il valore è stato impostato o meno; dopo si legge:
if (number) ...
Le informazioni sensibili devono essere conservati nel portachiavi, una posizione crittograficamente sicuro sul dispositivo. Se salvi il nome utente e/o la password in NSUserDefaults
, li stai salvando come testo in chiaro, che è intrinsecamente insicuro.
Ci sono molti esempi su Internet di come utilizzare il portachiavi su iPhone, includere semplici wrapper da utilizzare nel codice. Ad esempio, ecco qualche codice abbastanza buono su Github che rende molto facile:
http://github.com/ldandersen/scifihifi-iphone/tree/master/security
Risposta migliore della mia. Grazie per le informazioni. Naturalmente, qualsiasi sviluppatore dovrebbe determinare quanta sicurezza è necessaria per gli scopi della propria applicazione e comprendere gli svantaggi dell'uso del portachiavi (supporto simulatore, supporto app impostazioni, complessità aggiunta e tempo di sviluppo). – Steve
così per il campo di testo chiamato Numero thats di un IBOutlet userei questo: [[NSUserDefaults standardUserDefaults] setValue: _numero Forkey: Number.text]; [[NSUserDefaults standardUserDefaults] setValue: _password forKey: Password.text]; [[NSUserDefaults standardUserDefaults] synchronize]; – user393273
Di solito la "Chiave" è codificata ... è come il tuo "nome variabile" per il valore memorizzato ... così ... [[NSUserDefaults standardUserDefaults] setValue: Number.text forKey: @ "Numero"]; Ha senso? – Steve
Funzionerà, ma non è sicuro. Dovresti memorizzare le informazioni sensibili nel portachiavi. –