我有这段代码从给定用户名 NSString 的钥匙串中取回密码:
NSError *error = nil;
NSString *appName = [[[NSBundle mainBundle] infoDictionary] objectForKey:(NSString*)kCFBundleNameKey];
NSString *pw = [SFHFKeychainUtils getPasswordForUsername:username andServiceName:appName error:&error];
if(error != nil)
// log the error
大多数情况下,对于大多数用户来说,这一切都很好——但对于某些特定用户来说,这个调用似乎失败(并继续失败),它返回以下错误:
The operation couldn’t be completed. (SFHFKeychainUtilsErrorDomain error -25308.)
这显然是 errSecInteractionNotAllowed - 从我读过的内容来看,我认为这意味着要访问钥匙串需要某种用户交互。
有谁知道为什么这个调用可能只对某些特定用户失败?此钥匙串条目特定于我的应用程序 - 那么为什么需要任何用户交互才能访问它?
任何指针都非常感谢...