我正在尝试在密钥链中保存SecIdentityRef,以便可以唯一地查询它。我的代码看起来像这样
NSMutableDictionary *keyAttr = [NSMutableDictionary dictionary];
[keyAttr setObject:label forKey:(__bridge NSString*)(kSecAttrLabel)];
[keyAttr setObject:(id)self.identityRef forKey:(__bridge NSString*)kSecValueRef];
[keyAttr setObject:identityTag forKey:(__bridge NSString*)(kSecAttrApplicationTag)];
[keyAttr setObject:(__bridge NSString*)kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly forKey:(__bridge NSString*)kSecAttrAccessible];
OSStatus secStatus = SecItemAdd((__bridge CFDictionaryRef) dict, nil);
我正在设置kSecAttrApplication标记,因此当我使用SecItemCopyMatching进行查询时,我只得到一个匹配项。但是,当我尝试此代码时,secStatus代码是-25303(无效参数),这是由于kSecAttrApplicationTag。 我可以使用kSecAttrApplicationTag来唯一标识项目吗?使用唯一搜索属性存储身份的最佳方式是什么?