ユーザー名とパスワードを NSUserDefault に保存する必要があります。IBに丸い長方形のボタンを配置する予定です。これを押すと、ユーザー名とパスワードが NSUserDefault に保存されるため、ユーザーがアプリケーションを強制終了し、しばらくしてから再度ログインしようとしたときに、ログインの詳細を再度入力する必要がなくなります。どんな助けでも大歓迎です。
よろしくお願いします、
パソコン
ユーザー名とパスワードを NSUserDefault に保存する必要があります。IBに丸い長方形のボタンを配置する予定です。これを押すと、ユーザー名とパスワードが NSUserDefault に保存されるため、ユーザーがアプリケーションを強制終了し、しばらくしてから再度ログインしようとしたときに、ログインの詳細を再度入力する必要がなくなります。どんな助けでも大歓迎です。
よろしくお願いします、
パソコン
ユーザー名とパスワードを保存するにKeychain
は、データを暗号化された形式で保存し、プレーンテキストとして保存するNSUserDefault
ため、セキュリティの面よりも安全であるため、個人的に使用することをお勧めします. それでも使いたい場合はこちらKeychain
NSUserDefault
NSUserDefault
節約のために
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
// saving an NSString
[prefs setObject:txtUsername.text forKey:@"userName"];
[prefs setObject:txtPassword.text forKey:@"password"];
[prefs synchronize];
検索用
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
// getting an NSString
NSString *savedUsername = [prefs stringForKey:@"userName"];
NSString *savedPassword = [prefs stringForKey:@"password"];
平文のパスワードは、たとえ重要でなくても、ユーザーのデフォルトに保存しないでください。
キーチェーン サービスを使用します。Generic Keychain Sampleはサンプルの KeychainWrapper クラスを提供します。これは、uses とまったく同じsetObject:forKey:
インターフェイスでキーチェーンにデータを読み書きするために使用できますNSUserDefaults
。
保存する:
[[NSUserDefaults standardUserDefaults] setValue:_Username forKey:@"Username"];
[[NSUserDefaults standardUserDefaults] setValue:_password forKey:@"password"];
[[NSUserDefaults standardUserDefaults] synchronize];
読むには:
NSString * _UserName = [[NSUserDefaults standardUserDefaults] stringForKey:@"Username"];
NSString * _password = [[NSUserDefaults standardUserDefaults] stringForKey:@"password"];
まず、パスワードをNSUserDefaultsに保存しません。むしろキーホルダーを使いたいです。
これは、NSUserDefaultsにユーザー名を保存する方法です。
NSUserDefaults *standardUserDefaults = [NSUserDefaults standardUserDefaults];
[standardUserDefaults setObject:myString forKey:@"username"];
NSString* username = [standardUserDefaults objectForKey:@"username"];
一方、キーチェーンを使用する簡単な方法は、SSKeychain
SamSoffesによるクラスを使用することです。この場合、あなたはただ言うでしょう:
NSString* password = [SSKeychain passwordForService:@"YOUSERVICENAMEHERE" account:username];
[SSKeychain setPassword:password forService:@"YOUSERVICENAMEHERE" account:username];
次のように資格情報を保存できます。
-(void)saveToUserDefaults:(NSString*)stringUserName pswd:(NSString*)strPassword
{
NSUserDefaults *standardUserDefaults = [NSUserDefaults standardUserDefaults];
if (standardUserDefaults) {
[standardUserDefaults setObject:stringUserName forKey:@"UserName"];
[standardUserDefaults setObject:strPassword forKey:@"Password"];
[standardUserDefaults synchronize];
}
}
そして、次のように取得できます。
-(NSArray*)retrieveFromUserDefaults
{
NSUserDefaults *standardUserDefaults = [NSUserDefaults standardUserDefaults];
if (standardUserDefaults) {
NSString *userName = (NSString*)[standardUserDefaults objectForKey:@"UserName"];
NSString *password = (NSString*)[standardUserDefaults objectForKey:@"Password"];
}
NSArray* credentials = [NSArray arrayWithObjects:userName, password, nil];
return credentials;
}
リンクからコードを投稿して、上記の投稿が将来削除または削除された場合でも、回答が引き続きコミュニティに役立つことを保証します。
コード:
このコードを試すことができます。私はそれがあなたのために働くと確信しています。
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *uid=@"1";
[defaults setObject:uid forKey:@"init_val"];
[defaults synchronize];
データを取得するには、次のコードを使用する必要があります。
NSString *initVal=[[NSUserDefaults standardUserDefaults] valueForKey:@"init_val"];
また
NSString *initVal=[[NSUserDefaults standardUserDefaults] objectForKey:@"init_val"];
編集:
それでも が得られる場合はnil
、次のコードを使用できます。
NSString *initVal=[NSString stringWithFormat:@"%@",[[NSUserDefaults standardUserDefaults] valueForKey:@"init_val"]];
また
NSString *initVal=[NSString stringWithFormat:@"%@",[[NSUserDefaults standardUserDefaults] objectForKey:@"init_val"]];
上記のリンクでは、私の答えが見つかり、そこにあるコードの「init_val」をキーとして「ユーザー名」と「パスワード」に置き換えます
これがお役に立てば幸いです。