Мне было интересно, удалось ли кому-либо, использующему SFHFKeychainUtils, модифицировать их для совместимости с ARC. Более точно
NSDictionary *attributeResult = NULL;
NSMutableDictionary *attributeQuery = [query mutableCopy];
[attributeQuery setObject: (id) kCFBooleanTrue forKey:(__bridge id) kSecReturnAttributes];
OSStatus status = SecItemCopyMatching((CFDictionaryRef) attributeQuery,(CFTypeRef *)(attributeResult));
Я пробовал
OSStatus status = SecItemCopyMatching((__bridge CFDictionaryRef) attributeQuery,(CFTypeRef *)(attributeResult));
и
CFTypeRef subAttributeResult = (CFTypeRef *)(objc_unretainedPointer(attributeResult));
OSStatus status = SecItemCopyMatching((__bridge CFDictionaryRef) attributeQuery,(CFTypeRef *)(subAttributeResult));
Эти 2 являются единственными 2 подходами, для которых мне не удалось получить никаких ошибок. Любой другой подход, добавляя objc_XXX вместо CFTypeRef здесь и там, получает мне ошибки (из неявных преобразований с указателя obj-c в CFTypeRef запрещается в ARC, до передачи х параметрам в параметр отбрасывания параметров y). Очевидно, что первый снимок кода также дает ошибку. Хотя я не получаю ошибок при создании, приложение сталкивается с EXC_BAD_ACCESS при достижении этой части кода.
Ссылка для полного SFHFKeychainUtils: https://github.com/ldandersen/scifihifi-iphone/tree/master/security
Любая помощь, пожалуйста? Спасибо.