我有以下代码:
NSData *secret = [pssword dataUsingEncoding:NSUTF8StringEncoding];
query =@{
(__bridge id)kSecClass:(__bridge id) kSecClassGenericPassword,
(__bridge id)kSecAttrService:@"My App",
(__bridge id)kSecAttrAccount:usrid,
(__bridge id)kSecValueData:secret
};
OSStatus status = SecItemAdd((__bridge CFDictionaryRef) query, NULL);
if(status != errSecSuccess)
{
NSLog(@"Unable add item with key =%@ error:%ld",secret,status);
}
似乎只为会话保存了密码和用户ID。每次刷新模拟器或重新启动应用程序时,密码和用户ID都会消失/消失。
如何将它们永久保存到钥匙串数据库中?
谢谢
答案 0 :(得分:1)
你可以使用NSUserDefaults来做到这一点 在拥有密码时使用保存数据(例如,如果密码是NSString)
NSString*userIDString=@"myPassordStringXXX";
[[NSUserDefaults standardUserDefaults] setObject:userIDString forKey:@"passwordKey"];
[[NSUserDefaults standardUserDefaults] synchronize];
要检索您可以使用的数据
NSString*passwordString=[[NSUserDefaults standardUserDefaults] objectForKey:@"passwordKey"]