iOS: CFTypeRef запрещен ARC

Я хотел бы получить имя пользователя / пароль из моей брелка. для этого я последовал этому руководству:

Простой доступ к брелокам для iPhone

Но эта часть не допускается с ARC:

NSData *result = nil; OSStatus status = SecItemCopyMatching( (CFDictionaryRef)searchDictionary, (CFTypeRef *)&result); 

Что я могу сделать?

ARC управляет только объектами-C. Если вы __bridge типы Core Foundation, вам нужно сообщить ARC, которому принадлежит переменная, используя __bridge , __bridge_retained или __bridge_transfer .

Вот официальная документация Apple по бесплатному мостовому соединению под ARC, или см. Это сообщение в блоге (прокрутите вниз до Toll-Free Bridging) для отличного обзора.

Например:

 NSData *inData = nil; CFTypeRef inTypeRef = (__bridge CFTypeRef)inData; OSStatus status = SecItemCopyMatching( (__bridge CFDictionaryRef)searchDictionary, &inTypeRef); 
 CFTypeRef inData = NULL; OSStatus status = SecItemCopyMatching( (__bridge CFDictionaryRef)searchDictionary, & inData); NSData *data = (__bridge NSData *)inData; 
  • Сохраняется ли хранилище keychain iOS при восстановлении приложения на новом устройстве?
  • secItemAdd keep return -50 error in swift
  • KeychainItemWrapper возвращает NSZeroData?
  • Как проверить доступ к свойству keychain после обновления через AppStore?
  • Закрытый ключ ios и сертификат не сопряжены
  • Чтение из результатов keychain в errSecItemNotFound 25300
  • GIDSignIn Auth в брелках не сохраняется
  • Определите, существует ли Touch-защищенный брелок?
  • Является ли iOS чистыми элементами связки ключей автоматически?
  • Использование Touch ID на iOS для шифрования данных
  • Как разрешить «права доступа» для групп брелка-доступа »имеет значение, не разрешенное профилем обеспечения»
  • Давайте будем гением компьютера.