我一直在尝试在 iOS 8 中为钥匙串添加密钥。我尝试过这个示例:https://developer.apple.com/library/mac/documentation/security/conceptual/keychainServConcepts/iPhoneTasks/iPhoneTasks.html#//apple_ref/doc/uid/TP30000897-CH208-SW3并使用各种库,包括:JNKeychain。使用JNKeychain,以下代码生成null结果:
- (IBAction)btnClick:(id)sender {
[JNKeychain saveValue:@"test@example.net" forKey:(__bridge NSString*)(kSecAttrAccount)];
NSData *data = [JNKeychain loadValueForKey:(__bridge NSString*)(kSecAttrAccount)];
NSString *email = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"Email: %@", email);
}
我原以为这段代码会返回“Email:test@example.net”。谁能帮我弄清楚我做错了什么?
答案 0 :(得分:2)
在iOS8
SecItemAdd
和SecItemCopyMatching
中返回错误代码-34018
(未找到权利)。要解决此问题,您必须打开“Keychain Sharing “在功能选项卡中。
转到目标 - >能力 - >打开“钥匙扣分享”
比清洁,建造和再次运行。