我想在我的钥匙串中保存两个密码(一个app pin和一个后端pin),我想知道这应该如何工作.
我使用KeychainItemWrapper与不同的标识符.
KeychainItemWrapper *kcw1 = [[KeychainItemWrapper alloc] initWithIdentifier:id1 accessGroup:nil];
KeychainItemWrapper *kcw2 = [[KeychainItemWrapper alloc] initWithIdentifier:id2 accessGroup:nil];
Run Code Online (Sandbox Code Playgroud)
我正在使用其中一个来保存和检索应用程序或后端引脚.
我用 :
[self.kcw1 setObject:aVerifyCode forKey:(__bridge id) kSecValueData]
[self.kcw2 setObject:aAppPin forKey:(__bridge id) kSecValueData]
Run Code Online (Sandbox Code Playgroud)
但它不起作用 - 结果是-25299 - 指定的项目已经存在于钥匙串中
那么如何在钥匙串中保存多个密码呢?
按"使用受保护的密钥"返回-26276(AAPLKeychainTestsViewController.m @ 288函数 - > SecItemCopyMatching)
通过按"删除受保护的密钥"重新加速-4(AAPLKeychainTestsViewController.m @ 326功能 - > SecItemDelete)
按"添加受保护的密钥"返回成功,但无法删除和使用.
我在这里找到:errSecInternal = - 26276,/*安全框架中发生内部错误.*/
所以在这种情况下我无法访问新添加的密钥.
我确实将这个问题发布给了Apple团队,但是超过1个月没有答案.