保存登录凭据Xcode

我正在实现一个应用程序,第一个视图是登录视图。 它包含3个文本字段帐户名,用户名和密码。 我想让应用程序保存登录信息,以便每次打开应用程序时都不让用户写入。 并在他/她退出时被删除。

怎么做? 以及如何读/写文件?

谢天谢地

 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。

使用密钥链存储登录密码。 下面是简单的代码

储藏:

 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. 即使在app uninstall-install之后,数据也是持久的
  2. 数据可以在您的应用程序之间共享(需要具有相同的捆绑种子ID,请从此处阅读)。 想想所有应用的单点登录。
  3. 仅在设备重置时从设置中删除数据。

这种敏感数据通常存储在钥匙串中。 类似的问题在这里

检查keychainServConcepts以保存所需数据

检查STUtils以安全地保存用户名和密码。

您还可以使用NSUserDefault以key作为userName保存数据,并在需要时删除。