在没有iCloud同步的iOS Keychain中存储项目?

时间:2017-03-20 12:29:16

标签: ios keychain

我正在iOS中开发一个应用程序,我需要在应用程序中注册帐户时将安全数据存储在钥匙串中。
我面临的问题是,有时,当用户有第二个设备时,他们的注册被(怀疑)失败,因为由于iCloud中的同步,该项已经存在于钥匙串中。可能是用户重新安装应用程序并且重新安装时钥匙串中的项目幸存下来的情况,但不幸的是,给予我的唯一细节是“用户无法注册”。与日志文件,抱怨钥匙串项目。

可悲的是,这个注册过程是一成不变的,因为它是一个已经投入生产的继承项目,所以我无法真正改变它。

我的下意识反应是以某种方式阻止此项目与设备同步,但我甚至无法找到任何可能表明这是可行的内容。
欢迎所有的想法 感谢

编辑
我刚刚意识到我的问题不是很清楚。我猜这是一个两人组合 1.有没有办法阻止钥匙串项与iCloud同步。
如果没有人可以想到解决这个问题吗?

1 个答案:

答案 0 :(得分:4)

如果在创建钥匙串项目时未在钥匙串项目字典中指定#IfWinActive属性kSecAttrSynchronizable,则不会通过iCloud同步;它将保留在本地设备上。

钥匙串中更有可能存在旧物品。您需要检查注册码并对其进行修改,以提供一种从失败的注册尝试中恢复的方法。