SeciTemadd и SeciTemCopyMatching возвращает код ошибки -34018 (errsecmissingEntilement)IOS

Программируем под IOS
Ответить
Anonymous
 SeciTemadd и SeciTemCopyMatching возвращает код ошибки -34018 (errsecmissingEntilement)

Сообщение Anonymous »

Иногда, когда я запускаю приложение на устройстве из Xcode, я попытался получить доступ к ключевой матче, но сбой из -за ошибки -34018. Это не соответствует ни одному из зарегистрированных кодов ошибок в ключах и не может быть последовательно воспроизведено. (случается, может быть, 30% случаев, и мне не ясно, почему это происходит). Что затрудняет отладку этой проблемы, так это общее отсутствие документации. Есть идеи, что вызывает это и как это исправить? Я использую Xcode 5 и запускаю iOS 7.0.4 на устройстве.

Я здесь есть открытая проблема. Библиотека sskeychain для взаимодействия с ключом. Вот фрагмент. < /P>

#define SERVICE @"default"

@implementation SSKeychain (EXT)

+ (void)setValue:(NSString *)value forKey:(NSString *)key {
NSError *error = nil;
BOOL success = NO;
if (value) {
success = [self setPassword:value forService:SERVICE account:key error:&error];
} else {
success = [self deletePasswordForService:SERVICE account:key error:&error];
}
NSAssert(success, @"Unable to set keychain value %@ for key %@ error %@", value, key, error);
if (!success) {
LogError(@"Unable to set value to keychain %@", error);
}
LogTrace(@"Will set keychain account %@. is to nil? %d", key, value == nil);
if (value == nil)
LogWarn(@"Setting keychain %@ to nil!!!", key);
}

+ (NSString *)valueForKey:(NSString *)key {
NSError *error = nil;
NSString *value = [self passwordForService:SERVICE account:key error:&error];
if (error && error.code != errSecItemNotFound) {
NSAssert(!error, @"Unable to retrieve keychain value for key %@ error %@", key, error);
LogError(@"Unable to retrieve keychain value for key %@ error %@", key, error);
}
return value;
}

+ (BOOL)removeAllValues {
LogInfo(@"Completely Reseting Keychain");
return [[self accountsForService:SERVICE] all:^BOOL(NSDictionary *accountInfo) {
return [self deletePasswordForService:SERVICE account:accountInfo[@"acct"]];
}];
}

@end
< /code>

Подавляющее большинство времени все в порядке. Иногда я нажимаю на сбои утверждения, когда я не могу либо написать, либо читать из ключей, вызывая критическое сбое.

Подробнее здесь: https://stackoverflow.com/questions/203 ... ssingentit
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»