App*_*Dev 3 security keychain ios swift
我一直在阅读有关此问题的几篇文章,例如卸载应用程序时删除钥匙串项目和卸载后 iOS 自动删除钥匙串项目?。他们说,当您卸载应用程序时,它Keychain不会被删除,但帖子可能会被弃用,这是当前的行为吗?
另一方面,如果Keychain用户卸载应用程序时没有真正自动删除,我不清楚自己该如何执行此操作。
编辑:如果Keychain卸载应用程序时未删除,所有这些残留实际上会发生什么Keychain?系统不处理吗?
尝试使用 UserDefaults 存储一个布尔值,用于跟踪数据何时保存到钥匙串。
例子:
func someFunctionThatSavesToKeychain {
// Save to keychain
UserDefaults.standard.set(true, forKey: "isSavedToKeychain")
// Do other stuff
}
Run Code Online (Sandbox Code Playgroud)
然后在 AppDelegate 中的 didFinishLaunchingWithOptionsMethod 中
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
if !UserDefaults.standard.bool(forKey: "isSavedToKeychain") {
// Delete data from Keychain
}
}
Run Code Online (Sandbox Code Playgroud)
由于 UserDefaults 在应用程序卸载时被清除,因此下次用户安装应用程序时,该键值将消失,因此在启动时,您的 AppDelegate 将删除残留的钥匙串数据。
我也进行了广泛的搜索,这个解决方法是您可以获得的最接近的解决方法。
| 归档时间: |
|
| 查看次数: |
4994 次 |
| 最近记录: |