Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 钥匙链没有';得不到数据_Ios_Keychain - Fatal编程技术网

Ios 钥匙链没有';得不到数据

Ios 钥匙链没有';得不到数据,ios,keychain,Ios,Keychain,我在这里使用通用钥匙链包装器: 这是我的设定代码: KeychainItemWrapper *keychain = [[KeychainItemWrapper alloc] initWithIdentifier:@"Animex" accessGroup:nil]; [keychain setObject:username forKey:@"Username"]; [keychain setObject:password forKey:@"Password"]; [keychain

我在这里使用通用钥匙链包装器:

这是我的设定代码:

    KeychainItemWrapper *keychain = [[KeychainItemWrapper alloc] initWithIdentifier:@"Animex" accessGroup:nil];
[keychain setObject:username forKey:@"Username"];
[keychain setObject:password forKey:@"Password"];

[keychain release];
这是我的Get代码:

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
NSString *password = [prefs stringForKey:@"Password"];

if ([password length] != 0)
{
    return password;
}
else
{
    return nil;
}

我只返回了零,我做错了什么?

您正在使用
KeychainItemWrapper
存储值,然后尝试使用
NSUserDefaults
检索它们。这是两个完全不同的备份存储,因此您需要使用
KeychainItemWrapper
来检索您的值。您还应该使用
kSecValueData
kSecAttrAccount

你链接的那篇文章实际上有答案

//Set
KeychainItemWrapper *keychain = [[KeychainItemWrapper alloc] initWithIdentifier:@"Animex" accessGroup:nil];
[keychain setObject:username forKey:kSecAttrAccount];
[keychain setObject:password forKey:kSecValueData];

[keychain release];


您正在使用
KeychainItemWrapper
存储值,然后尝试使用
NSUserDefaults
检索它们。这是两个完全不同的备份存储,因此您需要使用
KeychainItemWrapper
来检索您的值。您还应该使用
kSecValueData
kSecAttrAccount

你链接的那篇文章实际上有答案

//Set
KeychainItemWrapper *keychain = [[KeychainItemWrapper alloc] initWithIdentifier:@"Animex" accessGroup:nil];
[keychain setObject:username forKey:kSecAttrAccount];
[keychain setObject:password forKey:kSecValueData];

[keychain release];


嗨,Joe,如果我存储key
kSecValueData
的密码有关系吗?我在网上看到过许多例子,其中用户以与您相反的方式存储用户名/密码。有没有不正确的方法?@Sooper我在第一个示例中反向发布了它们,对此我深表歉意。嗨,Joe,如果我为key
kSecValueData
存储密码有关系吗?我在网上看到过许多例子,其中用户以与您相反的方式存储用户名/密码。有没有不正确的方法?@Sooper我在第一个例子中反向发布了它们,对此我深表歉意。