Сбой приложения при отпускании keyChainItemWrapper

У меня есть представление в моем приложении, которое показывает форму (электронная почта, имя, фамилия, дата рождения), которая загружает в поля, соответствующие данные из цепочки для ключей, позволяющие пользователю изменить его и т. Д. Это прекрасно работает, когда есть уже хранятся детали в цепочке для ключей, но если ничего не происходит (при первом запуске приложения), происходит сбой, когда я иду, чтобы освободить цепочку для ключей. Чтобы сохранить утечку памяти, я хочу посмотреть, есть ли лучший способ сделать что-то. Я использую KeychainItemWrapper от Apple, и мой проект не использует ARC.

Вот мой код

// add data from keychain to fields if set
KeychainItemWrapper *keychainItem = [[KeychainItemWrapper alloc] initWithIdentifier:@"test" accessGroup:nil];
NSString *error;

NSData *dictionaryRep = [keychainItem objectForKey:kSecAttrService];
NSDictionary *dictionary = [NSPropertyListSerialization propertyListFromData:dictionaryRep mutabilityOption:NSPropertyListImmutable format:nil errorDescription:&error];

if (error) {
   NSLog(@"An error occurred - %@", error);
    }
else{
    //successful so populate fields
    email_.text = [dictionary objectForKey:@"email"];
    firstName_.text = [dictionary objectForKey:@"firstname"];
    lastName_.text = [dictionary objectForKey:@"lastname"];
    dob_.text = [dictionary objectForKey:@"dob"];
}
[keychainItem release]; // crashes here with an EXC_BAD_ACCESS

0 ответов

Другие вопросы по тегам