ios - iOS 中钥匙串(keychain)服务的生命周期

标签 ios swift keychain

钥匙串(keychain)服务 API 中存储的项目的生命周期是怎样的?

我正在使用标准钥匙串(keychain)服务来存储小数据,但即使我卸载应用程序并重新部署到模拟器上,该值似乎也不会重置。

let query =  NSMutableDictionary(objects: [kSecClassGenericPassword,
                           key,
                           user,
                           value as Any,
                           kSecMatchLimit],
                  forKeys: [kSecClass as NSString,
                           kSecAttrService as NSString,
                           kSecAttrAccount as NSString,
                           kSecReturnData as NSString,
                           kSecMatchLimit as NSString
                           )

SecItemAdd(query as CFDictionary, nil)

此外,这与 iCloudkeychain 有什么不同?有一个选项可以使用ksecattrsynchronizable通过icloud同步。在查询中。这是否意味着如果我们选择不通过 iCloud 同步它,它将成为设备本地存储的永久钥匙串(keychain)项目?

最佳答案

您回答了自己的问题。

当您卸载应用程序时,存储在钥匙串(keychain)中的项目不会重置。

它会存储在那里,直到您明确删除它为止。

关于ios - iOS 中钥匙串(keychain)服务的生命周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54820957/

相关文章:

ios - 检查respondsToSelector 中的属性

ios - 滚动时 Uicollectionview 不更新标题

ios - 在 iOS 上以测试用户身份登录 Facebook 开发应用程序

ios - Swift,如何调用其他 View Controller 中的函数?

ios - 如何创建逆实体

iOS用户数据存储困境

macos - 与 OS X 钥匙串(keychain)关联的不可见文件

ssl - (OS X) 无法在钥匙串(keychain)上导出 .p12

ios - 如何使用swift在特定时间运行一个函数

ios - NotificationCenter 在从 viewcontroller 发布到另一个 ViewController 时第一次不工作