iOS在钥匙串中保存多个密码

时间:2012-06-15 17:46:07

标签: ios5 keychain

我想在我的钥匙串中保存两个密码(一个app pin和一个后端pin),我想知道这应该如何工作。
我使用KeychainItemWrapper与不同的标识符。

KeychainItemWrapper *kcw1 = [[KeychainItemWrapper alloc] initWithIdentifier:id1 accessGroup:nil];
KeychainItemWrapper *kcw2 = [[KeychainItemWrapper alloc] initWithIdentifier:id2 accessGroup:nil];

我正在使用其中任何一个保存并重新启动应用程序或后端引脚。

我用:

[self.kcw1 setObject:aVerifyCode forKey:(__bridge id) kSecValueData]
[self.kcw2 setObject:aAppPin forKey:(__bridge id) kSecValueData]

但它不起作用 - 结果是-25299 - 指定的项目已经存在于钥匙串中

那么如何在钥匙串中保存多个密码?

1 个答案:

答案 0 :(得分:8)

好的,我想我知道问题是什么! KeychainItemWrapper使用kSecAttrGeneric的标识符 但这不是区分条目的人。如果要在

中保存两个帐户或两个密码
  

kSecValueData

这会导致重复的骚扰(-25299) 原因是苹果钥匙串api使用

  

kSecAttrAccount

  

kSecAttrService

区分条目。
因此,如果您希望在此thread

中显示,则可以修改keychainItemWraper