我刚开始学习iOS开发,正在研究钥匙串存储。在我的应用程序中,我希望将一些重要信息保存在iOS钥匙串中(而不是共享钥匙串)。
我不知道钥匙串数据是否会在卸载应用程序时被清除。我查看了一些博客/Stack Overflow帖子,但没有找到任何官方的苹果文档提到这个具体信息。 我想知道:
- 我的存储数据在卸载应用程序时会被删除吗?
- 如果用户卸载并立即重新安装应用程序,他会得到以前存储的数据吗?
1.我的应用被卸载后,存储的数据会被删除吗?
不会,即使在卸载后它仍然存在于钥匙串中。如果您不想要这个行为,可以使用一个小技巧来使用默认值
判断是否是第一次安装。
如果用户卸载应用并立即重新安装,会发生什么?他会得到先前存储的数据吗? 只能保留钥匙串数据,而无法保留App Sandbox中的数据,例如用户默认值、文档目录、核心数据等。
您可以使用KeyChain进行存储,即使用户卸载了您的应用程序,也不会被删除。
let id = KeyChain.createUniqueID()
let data = id.data(using: String.Encoding.utf8)
let status = KeyChain.save(key: "yourKey", data: data!)
print(status)