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