在 iOS 中卸载应用程序时如何从钥匙串中删除存储的用户名和密码?

How to remove the stored username and password from keychain while uninstalling application in iOS?

我对为我的应用程序和购物应用程序实施生物识别身份验证还很陌生,我正在使用以下逻辑来实现相同的功能。如果这不是 post 这个问题的正确位置,请多多包涵。我请版主转移到合适的论坛 .目前我们仅将用户名存储为 AES 加密格式(甚至不在钥匙串中)。

我能够成功实现相同的功能,但我有一个疑问,如果我卸载应用程序,他们会删除钥匙串中存储的凭据。我已经提到了很多 SO 问题,但我不能给出具体的答案。如果卸载应用程序后仍然存在,如何删除这些?

Apple 开发者论坛上有关于此的 post。它基本上告诉我们,KeyChain 即使在应用程序删除并重新安装后仍然存在(这意味着应用程序在技术上可以再次使用旧密钥)。这种行为并不是真正的预期(如果你仔细阅读线程)。

为了应对这种行为,论坛通过在 UserDefault 存储中设置一个标志(在卸载应用程序时 删除)提供了一个解决方案。当用户第一次运行应用程序时,清除 KeyChain 并设置标志。这样,您几乎可以确定密钥在首次使用前已被移除。

要直接回答您的问题,(截至目前)无法判断某个应用程序何时被卸载并在卸载后采取行动。