我正在实现一个应用程序,第一个视图是登录视图。它包含3个文本字段:用户名和密码我想让应用程序保存登录信息,以免用户每次打开应用程序时都要写入这些信息。当他们退出时就会被删除。如何做到这一点?如何读/写文件?
qnzebej01#
使用钥匙链存储登录密码。下面是简单的代码储存:
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(此处)。使用密钥链存储数据的另一个重要方面是1.即使在应用卸载-安装之后,数据也是持久的1.数据可以在您的应用程序之间共享(需要具有相同的捆绑包种子ID,从here读取)。想想所有应用的单点登录。1.数据仅在设备重置时从设置中删除。
qf9go6mv2#
这种敏感数据通常存储在密钥链中。类似问题here
irlmq6kh3#
检查keychainServConcepts以保存所需数据检查STUtils是否安全保存密码和密码。您还可以使用NSUserDefault以userName作为键来保存数据,并在需要时删除。
yruzcnhs4#
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:设置所有值为空。
4条答案
按热度按时间qnzebej01#
使用钥匙链存储登录密码。下面是简单的代码
储存:
要查询:
要删除:
您需要首先在项目中添加KeychainItemWrapper. h和KeychainItemWrapper.m(此处)。
使用密钥链存储数据的另一个重要方面是
1.即使在应用卸载-安装之后,数据也是持久的
1.数据可以在您的应用程序之间共享(需要具有相同的捆绑包种子ID,从here读取)。想想所有应用的单点登录。
1.数据仅在设备重置时从设置中删除。
qf9go6mv2#
这种敏感数据通常存储在密钥链中。类似问题here
irlmq6kh3#
检查keychainServConcepts以保存所需数据
检查STUtils是否安全保存密码和密码。
您还可以使用NSUserDefault以userName作为键来保存数据,并在需要时删除。
yruzcnhs4#
logOut:设置所有值为空。