iOS - 如何永久保存密码?

时间:2014-08-28 18:47:08

标签: ios ios7 xcode5

我有以下代码:

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都会消失/消失。

如何将它们永久保存到钥匙串数据库中?

谢谢

1 个答案:

答案 0 :(得分:1)

你可以使用NSUserDefaults来做到这一点 在拥有密码时使用保存数据(例如,如果密码是NSString)

     NSString*userIDString=@"myPassordStringXXX";
     [[NSUserDefaults standardUserDefaults] setObject:userIDString forKey:@"passwordKey"];
     [[NSUserDefaults standardUserDefaults] synchronize];

要检索您可以使用的数据

NSString*passwordString=[[NSUserDefaults standardUserDefaults] objectForKey:@"passwordKey"]