我正在使用github上提供的ARCified版本的KeychainItemWrapper,但无法同时存储电子邮件和密码。

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." );

您对这里可能出什么问题有任何想法吗?

谢谢

最佳答案

好吧,我只是按照该页面iOS KeychainItemWrapper not updating上的建议找到了答案,即添加

[keychainWrapper setObject:@"Myappstring" forKey: (id)kSecAttrService];

10-04 21:04