iPhoneにアカウント情報を保存してみました。
やりたいこと
- UserIDを保存したい
- Passwordを保存したい
- UserIDは見られても構わない
- Passwordは誰にも見られたくない
UserIDはPinfoに保存する
こちらを参考にしました。
http://d.hatena.ne.jp/tomute/20091121/1258884514
要点としてはユーザー名をNSUserDefaultsに保存して、パスワードはセキュリテリを高めるためにKeyChainを使います。
- (void)saveUserInfo { NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; NSString *oldUsername = [defaults objectForKey:@"USERNAME"]; NSError *error; // ユーザ名が変更になっていた場合は、古いユーザ名で保存したパスワードを削除 if (![oldUsername isEqualToString:_usernameField.text]) { [SFHFKeychainUtils deleteItemForUsername:oldUsername andServiceName:@"Test App" error:&error]; } // ユーザ名はNSUserDefaultsを使って保存 [defaults setObject:_usernameField.text forKey:@"USERNAME"]; // ラッパークラスを利用してパスワードをKeyChainに保存 [SFHFKeychainUtils storeUsername:_usernameField.text andPassword:_passwordField.text forServiceName:@"Test App" updateExisting:YES error:&error]; [self.navigationItem.rightBarButtonItem setEnabled:NO]; // saveが完了したらその旨をユーザーに通知 UIAlertView * alert = [[[UIAlertView alloc] initWithTitle:@"saved" message:@"complete" delegate:nil cancelButtonTitle:nil otherButtonTitles:@"OK", nil] autorelease]; [alert show]; }