Я использую KeyChainItemWrapper из примера кода Apple для хранения пароля пользователя для аутентификации, но когда я вызываю его для установки пароля:
[keychain setObject:passwordField.text forKey:(id)kSecValueData];
Он разбрасывает утечки памяти по всей моей рубашке. Проблема, по-видимому, восходит к строке 274 в KeyChainItemWrapper.m, которая выглядит следующим образом:
if (SecItemCopyMatching((CFDictionaryRef)genericPasswordQuery, (CFTypeRef *)&attributes) == noErr)
{
Как я могу это исправить, и должен ли я быть более осторожным при работе с образцами кода Apple в будущем?
Примечание: я мог бы выложить больше кода, но я сузил проблему до этой строки с помощью Instruments, а полный код примера легко доступен любому разработчику.