iOS: невозможно добавить элемент в связку ключей с помощью KeychainItemWrapper
Во-первых: я знаю, что есть другие вопросы, касающиеся KeychainItemWrapper уже опубликованы. Я прочитал их все, но мне не удалось выполнить простую задачу: сохранить значение в цепочке для ключей (на устройстве, а не на симуляторе). Я всегда получаю сообщение об ошибке "Не удалось добавить элемент цепочки для ключей".
Вот мой код, я хочу получить uuid и, если он не существует, создать и сохранить его:
+ (NSString *)getDeviceID{
KeychainItemWrapper * keychain = [[[KeychainItemWrapper alloc]initWithIdentifier:KEYCHAIN_ID accessGroup:nil]autorelease];
NSString * uuid = [keychain objectForKey:KEYCHAIN_ID];
if ( uuid == nil ){
uuid = [self createDeviceID];
[keychain setObject:uuid forKey:@"UUID"];
}
return uuid;
}
Я просто не могу понять это.
1 ответ
+ (NSString *)getDeviceID
{
KeychainItemWrapper * keychain = [[KeychainItemWrapper alloc] initWithIdentifier:KEYCHAIN_ID accessGroup:nil];
NSString * uuid = [keychain objectForKey:(__bridge id)kSecAttrLabel];
if ( uuid == nil )
{
uuid = [self createDeviceID];
[keychain setObject:uuid forKey:(__bridge id)kSecAttrLabel];
}
return uuid;
}
(_идентификатор моста)kSecAttrLabel может быть (_bridge id) kSecAttrDescription