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

6

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


我在想是否是这个问题:https://dev59.com/82sz5IYBdhLWcg3wNU8R - Adam Marks
我不使用那个包装器,所以这不是问题。 - Bartosz Bialecki
3个回答

6

我们最新的应用程序也遇到了同样的问题。我们发现,如果较新的应用程序的最低支持版本为8.0,则苹果显然会清除Keychain中的数据,而对于iOS 7.0及以下的应用程序,Keychain中的数据不会被清除。

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


2
由于keychain-access-groups授权的更改可能导致钥匙串数据丢失。在新旧应用程序中保持这个键的相同值将解决此问题。

0

我遇到了同样的问题。我的部署目标是iOS 10。

我正在使用以下方法将JWT令牌存储在钥匙串中 -

A0SimpleKeychain().setString(token, forKey:"user-jwt")

并使用以下代码将其检索回来 -

A0SimpleKeychain().string(forKey: key)

我在生产日志中看到,对于一些用户,在应用程序升级后,令牌没有从钥匙串中获取。这是iOS的问题还是我在这里遗漏了什么。请建议。

最近在iOS 12.4上看到了这个问题。

我正在使用Simple Keychain


Namit,你能解决这个问题吗?还是它仍然存在?我也遇到了同样的问题,但没有找到任何原因,我检查了两个版本的授权文件,它们都是相同的。仍然面临同样的问题。 - Bhavesh Patel
@BhaveshPatel 我还没有找到任何东西。如果你找到了什么,请告诉我。 - Namit Gupta
如果权限文件发生更改导致重置钥匙串数据,而我们更改了许多内容并且更改了权限文件,例如更改功能、重新签署配置文件等,则可能会导致权限文件更改引起钥匙串数据的重置。 - Bhavesh Patel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接