在iOS上更新应用程序后,钥匙串数据丢失

时间:2012-12-03 09:35:57

标签: ios nsuserdefaults keychain

我正在保存钥匙串中的一些数据,但在每次应用程序更新后都会丢失数据。当我在用户默认值中保存某些内容时,我遇到了同样的问题。这很重要,因为我用它来存储创建的唯一标识符。有什么不对? 感谢您的任何提示。

3 个答案:

答案 0 :(得分:5)

我的最新应用程序遇到了同样的问题。我们发现,如果较新的应用程序具有8.0的最低支持版本,Apple显然正在擦除Keychain中针对iOS 8之前的应用程序的数据。 但是,如果将受支持的最低版本设置为iOS 7.0,则不会删除Keychain数据。

显然,所有使用Keychain的应用程序在将最低支持版本设置为iOS 8.0并推送到AppStore时都会遇到此问题。

答案 1 :(得分:1)

钥匙串数据丢失可能是由于keychain-access-groups权利的变化。

在新旧应用中为此键保持相同的值将解决此问题。

答案 2 :(得分:0)

我正面临着同样的问题。我的部署目标是iOS 10。

我正在使用-

将JWT令牌存储在钥匙串中
A0SimpleKeychain().setString(token, forKey:"user-jwt")

然后使用以下内容将其取回-

A0SimpleKeychain().string(forKey: key)

我在生产日志中看到,对于某些用户而言,在应用程序升级后,不会从钥匙串中获取令牌。是iOS问题还是我在这里错过的任何内容。请提出建议。

最近在iOS 12.4上看到此问题。

我为此使用Simple Keychain