【发布时间】:2011-11-13 21:09:06
【问题描述】:
当我启动我的应用程序时,我想检查钥匙串中是否有任何存储的凭据,所以我正在尝试这个:
- (BOOL)areStoredCredentials {
if(![keychain objectForKey:(id)kSecAttrAccount]) return NO;
else{
NSLog(@"STORED CREDENTIALS : %@ / %@", [keychain objectForKey:(id)kSecAttrAccount], [keychain objectForKey:(id)kSecValueData]);
self.login = [keychain objectForKey:(id)kSecAttrAccount];
self.password = [keychain objectForKey:(id)kSecValueData];
return YES;
}}
但即使存储的凭据为空,此函数也不会返回 NO。它甚至可以打印:
2011-11-13 21:58:07.205 NeroApp[541:f803] 存储的凭据:/
有人知道为什么吗?
【问题讨论】:
-
你能告诉我们产生
keychain对象的代码吗?我假设它是来自SecItemCopyMatching的结果字典,对吗?
标签: objective-c string null keychain