私はアプリケーションを実装しています。最初のビューはログインビューです。アカウント名、ユーザー名、パスワードの3つのテキストフィールドが含まれています。ユーザーがアプリケーションを開くたびにログイン情報を書き込まないようにするために、アプリケーションにログイン情報を保存させたい。そして、彼/彼女がログアウトしたときに削除されます。
どうやってするか?とファイルの読み取り/書き込み方法は?
ありがたいことにあなたの
私はアプリケーションを実装しています。最初のビューはログインビューです。アカウント名、ユーザー名、パスワードの3つのテキストフィールドが含まれています。ユーザーがアプリケーションを開くたびにログイン情報を書き込まないようにするために、アプリケーションにログイン情報を保存させたい。そして、彼/彼女がログアウトしたときに削除されます。
どうやってするか?とファイルの読み取り/書き込み方法は?
ありがたいことにあなたの
ログインパスワードの保存にはキーチェーンを使用します。以下は簡単なコードです
保存するには:
KeychainItemWrapper *keychain =
[[KeychainItemWrapper alloc] initWithIdentifier:@"MyAppLoginData" accessGroup:nil];
[keychain setObject:loginStr forKey:(id)kSecAttrAccount];
[keychain setObject:pwdStr forKey:(id)kSecValueData];
クエリするには:
NSString *login = [keychain objectForKey:(id)kSecAttrAccount];
NSString *pwd = [keychain objectForKey:(id)kSecValueData];
削除するには:
[keychain resetKeychainItem];
最初に、プロジェクトにKeychainItemWrapper.hとKeychainItemWrapper.m(ここ)を追加する必要があります。
キーチェーンを使用してデータを保存するもう1つの重要な側面は、
この種の機密データは通常、キーチェーンに保存されます。ここで同様の質問
必要なデータを保存するためにkeychainServConceptsを確認してください
ユーザー名とパスワードを安全に保存するためにSTUtilsを確認してください。
Uは、NSUserDefaultを使用して、キーをuserNameとしてデータを保存し、必要に応じて削除することもできます。
To Save:
[[NSUserDefaults standardUserDefaults] setValue:AccountTxtField.text forKey:@"Account"];
[[NSUserDefaults standardUserDefaults] setValue:UserTxtField.text forKey:@"Username"];
[[NSUserDefaults standardUserDefaults] setValue:passwordTxtField.text forKey:@"password"];
[[NSUserDefaults standardUserDefaults] synchronize];
To Read:
NSString * _Account = [[NSUserDefaults standardUserDefaults] stringForKey:@"Account"];
NSString * _UserName = [[NSUserDefaults standardUserDefaults] stringForKey:@"Username"];
NSString * _password = [[NSUserDefaults standardUserDefaults] stringForKey:@"password"];
logOut:すべての値をnullに設定します。