ログインページがある実際のプロジェクト用のダミーアプリを作成しています。これで、いくつかのユーザー名とパスワードがあり、テキストフィールドに入力してログインボタンを押すと、次のビューに移動します。これらのユーザー名とパスワードを保存する方法はありますか?ありがとう
2 に答える
それらを定数に保存しますか?
Constants.h
extern NSString *const TestUsername;
extern NSString *const TestPassword;
Constants.m
NSString *const TestUsername = @"TestUsername";
NSString *const TestPassword = @"TestPassword";
このリンクに移動:iOS:アプリ内にユーザー名/パスワードを保存する方法は?
また
ユーザー名とパスワードの保存には常にキーチェーンを使用する必要があります。キーチェーンは安全に保存され、アプリからのみアクセスできるため、アプリの終了時に削除する必要はありません(懸念がある場合)。
Appleは、キーチェーンアイテムを保存、読み取り、削除するサンプルコードを提供しています。ここでは、そのサンプルからキーチェーンラッパークラスを使用する方法を説明します。これにより、キーチェーンの使用が大幅に簡素化されます。
Security.framework(Xcode 3でframeworksフォルダーを右クリックして既存のフレームワークを追加します。Xcode4でプロジェクトを選択し、次にターゲットを選択し、[Build Phases]タブに移動し、[Link Binary With Files]の下の[+]をクリックします)およびKeychainItemWrapper .h&を配置します。 mファイルをプロジェクトに追加し、キーチェーンを使用する必要がある場所で.hファイルを#importしてから、このクラスのインスタンスを作成します。
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];