ios5 - iOS在钥匙串(keychain)中保存多个密码

标签 ios5 keychain

我想在我的钥匙串(keychain)中保存两个密码(一个应用密码和一个后端密码),我想知道这应该如何工作。
我正在使用带有不同标识符的 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 - 指定的项目已存在于钥匙串(keychain)中

那么如何在我的钥匙串(keychain)中保存多个密码呢?

最佳答案

好的,我想我知道问题所在了!
KeychainItemWrapper 使用 kSecAttrGeneric 的标识符。
但这不是区分条目的方法。如果要保存两个帐户或两个密码

kSecValueData



这将导致重复的整体出现错误(-25299)。
原因是,苹果钥匙串(keychain) api 使用

kSecAttrAccount





kSecAttrService



来区分条目。
所以你可以修改 keychainItemWraper 如果你想像这个 thread 中显示的那样

关于ios5 - iOS在钥匙串(keychain)中保存多个密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11055731/

相关文章:

ios5 - 为Snow Leopard安装Xcode 4.2失败

iphone - 在 xCode 中对 Web 服务收费时出现重复的 MKAnnotations

iphone - IOS在keychain中存储多个密码

ios - ios 中的钥匙串(keychain)是线程安全的吗?

ios - kSecAttrAccessibleAfterFirstUnlock 即使在首次解锁 iOS 后也不允许访问

iphone - 变量的类型不完整 'struct sockaddr_in'

iphone - iOS 5 中 UIImagePickerController 出现内存警告,但 ios 4.x 中没有

ios - 我可以在 iOS 中存储多少个钥匙串(keychain)?

ios - 我可以在 iOS 钥匙串(keychain)中为单个用户存储/检索多个密码吗?

ios5 - 为什么 -[[UIButton 外观] setBackgroundImage] 会影响 UIBarItem 对象的初始外观以及如何纠正它?