kSecReturnPersistentRef 是做什么的?
它是否使钥匙链项目在应用程序运行之间保持不变?
Does it make a key chain item persistent between application runs?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
它是否使钥匙链项目在应用程序运行之间保持不变?
Does it make a key chain item persistent between application runs?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
@Plumenator 您可以稍后搜索钥匙串项,并在搜索字典中为键
kSecReturnPercientRef
提供值kCFBooleanTrue
。如果找到某个项目,钥匙串服务将返回对其的持久引用。如果SecItemAdd()
成功将某个项目添加到钥匙串中,只要钥匙串存在(通常直到设备重置),该项目就会保留在那里,或者SecItemDelete()
将其删除。回答你的第二个问题:键
kSecReturnPercientRef
被称为返回类型键,因为你指定函数SecItemAdd()
或SecItemCopyMatching()
应该做什么回到你身边。可能的标志有kSecReturnPersistentRef
、kSecReturnData
、kSecReturnAttributes
和kSecReturnRef
。@Plumenator You can search for a Keychain item later and in the search dictionary provide the value
kCFBooleanTrue
for the keykSecReturnPersistentRef
. If an item is found, Keychain Services return a persistent reference to it. IfSecItemAdd()
successfully adds an item to the Keychain it will remain there as long as the Keychain exists (usually until a reset of the device) orSecItemDelete()
deletes it.To answer your second question: the key
kSecReturnPersistentRef
is called a return type key because you specify what the functionSecItemAdd()
orSecItemCopyMatching()
should return to you. Possible flags arekSecReturnPersistentRef
,kSecReturnData
,kSecReturnAttributes
, andkSecReturnRef
.是的,没错。查看钥匙串服务参考:
Yes, that's right. Check out Keychain Services Reference:
事实证明,持久引用只是一个引用。它可以用作稍后查找钥匙串项目的密钥,在有权访问共享钥匙串项目的应用程序之间共享引用等。
It turns out that a persistent reference is just that, a reference. It can be used as key to lookup the keychain item later, share the reference between applications that have access to shared keychain items, etc.