无法将值正确存储在钥匙串中 [英] Unable to store values in keychain correctly
问题描述
我正在使用以下内容在钥匙串中存储值:
I am using the following to store values in the keychain:
KeychainItemWrapper *keychain = [[KeychainItemWrapper alloc] initWithIdentifier:@"suggest" accessGroup:nil];
[keychain setObject:[object valueForKey:@"token"] forKey:(__bridge id)(kSecValueData)];
[keychain setObject:[object valueForKey:@"usr_id"] forKey:(__bridge id)(kSecAttrAccount)];
这是我获取值的代码:
KeychainItemWrapper *keychain = [[KeychainItemWrapper alloc] initWithIdentifier:@"suggest" accessGroup:nil];
NSLog(@"TOKEN:%@",[keychain objectForKey:(__bridge id)(kSecValueData)]);
NSLog(@"USER NAME:%@",[keychain objectForKey:(__bridge id)(kSecAttrAccount)]);
我还包括了安全框架.
I have also included the security framework.
我已经搜索了stackoverflow和google,但无法在NSLog
中获取值.
I have searched stackoverflow and google but am not able to get values in NSLog
.
可能是什么原因?
如果有人有,我还可以向我提供其他信息,以便使用钥匙串吗?
One can also Provide me other information if anyone have, in order to work with keychain?
推荐答案
我使用了答案,原因是评论数量有限... 我在一个新项目中尝试了以下代码,下载了KeychainItemWrapper并链接了Security.framework
I use an answer cause comment are limited... I tried the following code out of a new project, downloading KeychainItemWrapper and linking Security.framework
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
{
KeychainItemWrapper *keychain = [[KeychainItemWrapper alloc] initWithIdentifier:@"suggest" accessGroup:nil];
[keychain setObject:@"aaaa" forKey:(__bridge id)(kSecValueData)];
[keychain setObject:@"bbbb" forKey:(__bridge id)(kSecAttrAccount)];
NSLog(@"TOKEN:%@",[keychain objectForKey:(__bridge id)(kSecValueData)]);
NSLog(@"USER NAME:%@",[keychain objectForKey:(__bridge id)(kSecAttrAccount)]);
}
{
KeychainItemWrapper *keychain = [[KeychainItemWrapper alloc] initWithIdentifier:@"suggest" accessGroup:nil];
NSLog(@"TOKEN:%@",[keychain objectForKey:(__bridge id)(kSecValueData)]);
NSLog(@"USER NAME:%@",[keychain objectForKey:(__bridge id)(kSecAttrAccount)]);
}
// Override point for customization after application launch.
return YES;
}
一切正常.我想您需要提供更多代码才能找到答案.这是我的日志:
Everything works perfectly. I guess you need to provide more of your code in order to find an answer. Here my logs :
2013-11-19 17:11:08.378 test[3430:a0b] TOKEN:aaaa
2013-11-19 17:11:08.379 test[3430:a0b] USER NAME:bbbb
2013-11-19 17:11:08.380 test[3430:a0b] TOKEN:aaaa
2013-11-19 17:11:08.381 test[3430:a0b] USER NAME:bbbb
这篇关于无法将值正确存储在钥匙串中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!