У меня есть этот код, возвращающий пароль из брелка для данного имени пользователя 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 - что из того, что я читал, я думаю, что это означает, что для доступа к цепочке ключей требуется какое-то взаимодействие с пользователем.
Кто-нибудь знает, почему этот вызов может быть неудачным только для некоторых конкретных пользователей? Эта запись для ключевого слова специфична для моего приложения - поэтому зачем требовалось какое-либо взаимодействие с пользователем для доступа к ней?
Любые указатели очень ценят...