Я использую ARCified версию KeychainItemWrapper, доступную по адресу github , и я не могу заставить ее хранить как электронную почту, так и пароль.
KeychainItemWrapper *keychainItem = [[KeychainItemWrapper alloc] initWithIdentifier:@"myApp" accessGroup:@"MY_APP.com.yourcompany.GenericKeychainSuite"];
[keychainItem setObject:[self.email dataUsingEncoding:NSUTF8StringEncoding] forKey:(__bridge id)kSecAttrAccount];
[keychainItem setObject:self.password forKey:(__bridge id)kSecValueData];
Я отлично работаю, покакогда я храню электронную почту ... на которой нет знака (@).В противном случае я получаю ошибку
*** Assertion failure in -[KeychainItemWrapper writeToKeychain]
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Couldn't add the Keychain Item.'
, которая исходит из этих строк
result = SecItemAdd((__bridge CFDictionaryRef)[self dictionaryToSecItemFormat:keychainItemData], NULL);
NSAssert( result == noErr, @"Couldn't add the Keychain Item." );
Есть ли у вас какие-либо идеи о том, что здесь может пойти не так?
Спасибо