6

私のアプリは(ほとんどの場合と同様に)多くのリモートサービスを利用する予定です...したがって、ユーザーが自分自身を認証するときは、ユーザー名とパスワード(または何らかのフラグ)を保存して、全体を認証する必要がないようにする必要がありますアプリ。

このユーザーデータを保存するのに最適/最速/最も簡単な場所はどこですか?

4

3 に答える 3

11

NSUserDefaultsを使用してユーザー名とサーバーのURLを保存することもできますが、パスワードを保存する場合は、キーチェーンサービスが最適です。これはCベースのセキュリティフレームワークの一部であり、Objective-CAPIを提供する優れたラッパークラスSFHFKeychainUtilsがあります。

保存する:

NSString *username = @"myname";
NSString *password = @"mypassword";
NSURL *serverURL = [NSURL URLWithString:@"http://www.google.com"];

[SFHFKeychainUtils storeUsername:username andPassword:password forServiceName:[serverURL absoluteString] updateExisting:YES error:&error]

復元するには:

NSString *passwordFromKeychain = [SFHFKeychainUtils getPasswordForUsername:username andServiceName:[serverURL absoluteString] error:&error];
于 2011-05-12T02:44:47.003 に答える
8

NSUserDefaults

このように保存します:

[[NSUserDefaults standardUserDefaults] setObject:username    forKey:@"username"];
[[NSUserDefaults standardUserDefaults] setObject:password forKey:@"password"];
[[NSUserDefaults standardUserDefaults] synchronize];

このようにフェッチします。

    NSString *username = [[NSUserDefaults standardUserDefaults] stringForKey:@"username"];
    NSString *password = [[NSUserDefaults standardUserDefaults] stringForKey:@"password"];
于 2011-05-12T00:27:15.280 に答える
5

安全でないファイル(ユーザーのデフォルト)に安全なデータを保存することは、通常は良い考えではありません。機密性の高いログイン情報などを暗号化するキーチェーンサービスを調べてください。

http://developer.apple.com/library/mac/#documentation/Security/Conceptual/keychainServConcepts/iPhoneTasks/iPhoneTasks.html

于 2011-05-12T00:33:44.400 に答える