ユーザー名とパスワードの保存には常にキーチェーンを使用する必要があります。キーチェーンは安全に保存され、アプリにのみアクセスできるため、アプリが終了したときにキーチェーンを削除する必要はありません(それが問題であった場合)。
Appleは、キーチェーンアイテムを格納、読み取り、削除するサンプルコードを提供しています。ここでは、そのサンプルのキーチェーンラッパークラスを使用して、キーチェーンの使用を大幅に簡素化する方法を示します。
Security.framework (Xcode 3でフレームワークフォルダーを右クリックし、既存のフレームワークを追加します。Xcode4でプロジェクトを選択し、ターゲットを選択して、[ビルドフェーズ]タブに移動し、[ファイルとバイナリをリンク]の下の[+]とKeychainItemWrapper .h&を含めます。プロジェクトにmファイル、#keychainを使用する必要がある場所に.hファイルをインポートしてから、このクラスのインスタンスを作成します。
KeychainItemWrapper *keychainItem = [[KeychainItemWrapper alloc] initWithIdentifier:@"YourAppLogin" accessGroup:nil];
(YourAppLoginは、キーチェーンアイテムを呼び出すために選択したものにすることができ、必要に応じて複数のアイテムを持つことができます)
次に、次を使用してユーザー名とパスワードを設定できます。
[keychainItem setObject:@"password you are saving" forKey:kSecValueData];
[keychainItem setObject:@"username you are saving" forKey:kSecAttrAccount];
それらを使用して取得:
NSString *password = [keychainItem objectForKey:kSecValueData];
NSString *username = [keychainItem objectForKey:kSecAttrAccount];
または、次を使用して削除します。
[keychainItem resetKeychainItem];