我正在 iOS 中开发一个应用程序,在该应用程序中注册帐户期间,我需要在钥匙串(keychain)中存储安全数据。
我面临的问题是,有时,当用户拥有第二台设备时,他们的注册(怀疑)失败,因为由于在 iCloud 中同步,该项目已经存在于钥匙串(keychain)中。可能是用户重新安装了应用程序并且钥匙串(keychain)中的一个项目在重新安装后幸存下来,但不幸的是,给我的唯一细节是“用户无法注册”日志文件,它提示钥匙串(keychain)项目.
遗憾的是,此注册过程一成不变,因为它是一个已在生产中的继承项目,因此我无法对其进行太多更改。
我的下意识 react 是以某种方式阻止此项目跨设备同步,但我什至找不到任何表明这是可能的。
欢迎所有想法
谢谢
编辑
我才意识到我的问题不是很清楚。估计是二人组
1. 有没有办法阻止钥匙串(keychain)项目与 iCloud 同步。
2. 如果没有,任何人都可以想办法解决这个问题吗?
如果您在创建钥匙串(keychain)项时未在钥匙串(keychain)项字典中指定 kSecAttrSynchronizable
属性和 true
值,则不会通过 iCloud 同步;它只会保留在本地设备上。
钥匙串(keychain)中更有可能存在旧元素。您将需要检查注册代码并对其进行修改,以提供一些从失败的注册尝试中恢复的方法。
关于ios - 在没有 iCloud 同步的情况下将项目存储在 iOS 钥匙串(keychain)中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42903633/
欢迎光临 OGeek|极客世界-中国程序员成长平台 (https://ogeek.cn/) | Powered by Discuz! X3.4 |