@Plumenator,您可以稍后搜索 Keychain 条目,并在搜索字典中为键“kSecReturnPersistentRef”提供值“kCFBooleanTrue”。如果找到该条目,则 Keychain 服务将返回对其的持久引用。如果“SecItemAdd()”成功将项目添加到 Keychain 中,则它将保留在那里,只要 Keychain 存在(通常直到设备重置)或“SecItemDelete()”将其删除。回答您的第二个问题:键“kSecReturnPersistentRef”被称为返回类型键,因为您指定函数“SecItemAdd()”或“SecItemCopyMatching()”应向您返回什么。可能的标志包括“kSecReturnPersistentRef”,“kSecReturnData”,“kSecReturnAttributes”和“kSecReturnRef”。
是的,没错。请查看钥匙串服务参考: 要获取已添加项的持久引用(类型为CFDataRef的对象),请使用kSecReturnPersistentRef和kCFBooleanTrue值。请注意,与普通引用不同,持久引用可以存储在磁盘上或在进程之间传递。