无法添加到钥匙串 iOS

Posted

技术标签:

【中文标题】无法添加到钥匙串 iOS【英文标题】:Unable to add to keychain iOS 【发布时间】:2014-07-23 21:47:35 【问题描述】:

我一直在尝试向 iOS 8 中的钥匙串添加钥匙。我已经尝试了这个例子:https://developer.apple.com/library/mac/documentation/security/conceptual/keychainServConcepts/iPhoneTasks/iPhoneTasks.html#//apple_ref/doc/uid/TP30000897-CH208-SW3 并使用了各种库,包括:JNKeychain。使用 JNKeychain,以下代码会产生空结果:

- (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);

我原以为这段代码会返回“电子邮件:test@example.net”。谁能帮我弄清楚我做错了什么?

【问题讨论】:

【参考方案1】:

ios8SecItemAddSecItemCopyMatching返回错误代码-34018(未找到权利)。要解决此问题,您必须打开“功能”选项卡中的“钥匙串共享”。

转到目标->功能->打开“钥匙串共享”

然后清理,构建并再次运行。

【讨论】:

以上是关于无法添加到钥匙串 iOS的主要内容,如果未能解决你的问题,请参考以下文章

将钥匙串共享添加到已有用户的生产应用程序

ios:将新密码添加到 iCloud 钥匙串

使用 Swift 向 iOS 钥匙串添加项目和查询

iOS 钥匙串替代方案,无法在另一台设备上恢复

如何将已添加的 SecIdentityRef 更新到 iOS 应用的钥匙串?

苹果密码钥匙串在哪里