2016-08-30 3 views
1

Я хочу получить словарь атрибутов Keychain, но я получил NSArray с 1 элементом NSDictionary. Вот мой код получать атрибуты:Получение атрибутов Keychain возвращает NSArray

NSMutableDictionary *queryDictionary = [KeychainQueryDictionaryWithServiceAndIdentifier(serviceName, identifier) mutableCopy]; 
queryDictionary[(__bridge id)kSecReturnAttributes] = (__bridge id)kCFBooleanTrue; 
queryDictionary[(__bridge id)kSecMatchLimit] = (__bridge id)kSecMatchLimitAll; 

CFDictionaryRef result = nil; 
OSStatus status = SecItemCopyMatching((__bridge CFDictionaryRef)queryDictionary, (CFTypeRef *)&result); 

if (status != errSecSuccess) { 
    NSLog(@"Unable to fetch account info with identifier \"%@\" (Error %li)", identifier, (long int)status); 
    return nil; 
} 

id ret = (NSDictionary *)CFBridgingRelease(result); 

А вот некоторые детали из консоли

enter image description here

Почему ret является NSArray типа?

ответ

0

queryDictionary[(__bridge id)kSecMatchLimit] = (__bridge id)kSecMatchLimitOne;

Fixed его!

Смежные вопросы