iOS 10.3 beta 3 不会保留 KeychainItem 的数据

iOS 10.3 beta 3 doesn't persist data of KeychainItem

我在 iOS 10.2.1 设备和 iOS 10.3 beta 3 设备 https://developer.apple.com/library/content/samplecode/GenericKeychain/Introduction/Intro.html

中观察到了应用程序的行为

钥匙串数据正在 iOS 10.3 beta 3 中删除。 这在早期版本中仍然存在。

我们有其他选择吗?

自 iOS 10.3 beta 2 keychain 信息将在删除应用程序时删除。钥匙串信息曾经在应用程序卸载和重新安装之间持续存在,但这不是预期的行为,而是人们习惯的实施的副作用。

您可能只需要习惯新行为,除非他们正在准备替换绝密钥匙串。自 10.3 beta 2 以来,通过使用共享所述钥匙串信息的应用组并安装应用组中的另一个应用程序卸载/重新安装应用程序,钥匙串数据应该仍然存在;所以它不会删除钥匙串信息。另外我猜它不会从 iCloud 中删除与 iCloud 同步的项目,而只会删除本地副本。只是一个猜测。

这里是 link 关于这个问题的苹果开发者论坛:

https://forums.developer.apple.com/message/210531#210531

现在 10.3 已经正式发布,包括本次 Apple's developers forum post 在内的多方已确认此问题 不会 出现在最终版本中。

钥匙串数据不会在应用程序卸载时被删除。

最初 (自 iOS 10.3 beta 1 到 5?) 钥匙串 不是坚持了。

Apple staff:

This is an intentional change in iOS 10.3 to protect user privacy. Information that can identify a user should not be left on the device after the app that created it has been removed.


但是自从 iOS 10.3 beta 6,钥匙串再次保留。

没有人向您保证它将来会以这种方式工作。

虽然按照我们的方式使用它很好,但我强烈建议您编写您的应用程序,以便在这种行为发生变化时它能够合理地运行