我正在实现一个应用程序,第一个视图是登录视图。它包含3个文本字段帐户名,用户名和密码。我想让应用程序保存登录信息,以便每次打开应用程序时都不让用户写入。并在他/她退出时被删除。
怎么做?以及如何读/写文件?
谢天谢地
答案 0 :(得分:27)
使用密钥链存储登录密码。以下是简单的代码
存储:
KeychainItemWrapper *keychain =
[[KeychainItemWrapper alloc] initWithIdentifier:@"MyAppLoginData" accessGroup:nil];
[keychain setObject:loginStr forKey:(id)kSecAttrAccount];
[keychain setObject:pwdStr forKey:(id)kSecValueData];
查询:
NSString *login = [keychain objectForKey:(id)kSecAttrAccount];
NSString *pwd = [keychain objectForKey:(id)kSecValueData];
要删除:
[keychain resetKeychainItem];
您需要先在项目中添加KeychainItemWrapper.h和KeychainItemWrapper.m(here)。
使用钥匙串存储数据的另一个重要方面是
答案 1 :(得分:2)
这种敏感数据通常存储在钥匙串中。类似的问题here
答案 2 :(得分:2)
答案 3 :(得分:-7)
To Save:
[[NSUserDefaults standardUserDefaults] setValue:AccountTxtField.text forKey:@"Account"];
[[NSUserDefaults standardUserDefaults] setValue:UserTxtField.text forKey:@"Username"];
[[NSUserDefaults standardUserDefaults] setValue:passwordTxtField.text forKey:@"password"];
[[NSUserDefaults standardUserDefaults] synchronize];
To Read:
NSString * _Account = [[NSUserDefaults standardUserDefaults] stringForKey:@"Account"];
NSString * _UserName = [[NSUserDefaults standardUserDefaults] stringForKey:@"Username"];
NSString * _password = [[NSUserDefaults standardUserDefaults] stringForKey:@"password"];
logOut:set all value为null。