如何在iPhone应用程序上记住下次用户名?

时间:2014-08-13 07:43:49

标签: ios

我正在开发iPhone / iOS应用程序。它有一个登录页面,其中包含两个文本字段“email”& “密码”。现在我要保存电子邮件。 即当我退出时,它应该记住电子邮件地址,因此不必再次输入。 请告诉我如何保存电子邮件。

2 个答案:

答案 0 :(得分:2)

如果您不认为电子邮件敏感。使用NSUserDefaults ...

<强>保存

[[NSUserDefaults standardUserDefaults]setObject:@"example@email.com" forKey:@"email"];
[[NSUserDefaults standardUserDefaults]synchronize];

<强>检索

// getting an NSString
NSString *emailString = [[NSUserDefaults standardUserDefaults] stringForKey:@"email"];\

提高答案

如果您认为电子邮件敏感。请改用keychain

存储

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。 使用钥匙串存储数据的另一个重要方面是

即使在app uninstall-install

之后,数据也是持久的

数据也可以跨应用共享。阅读更多here

答案 1 :(得分:0)

在这种情况下,email是登录所需的用户凭据的一部分。所以我会说这是敏感信息。请不要使用 NSUserDefaults来存储属于用户的敏感数据。这些默认值以二进制格式存储为plist,它们未加密。请改用Keychain Services API provided by iOS