在我的一个iOS应用程序中,我正在开发我在Keychain中存储一些信息。要与钥匙串互动,我使用的是Locksmith(https://github.com/matthewpalmer/Locksmith)
在我的应用程序的v1版本中,我使用
在钥匙串中写了一些数据Locksmith.saveData(data: data, forUserAccount:"A1", inService: "S1")
现在,在v2中,我意识到我想从" S1"迁移我的数据。到了" S2",所以我开始编写一个小的迁移脚本来实现这个目标。
基本上,我在做什么:
// read the old data
if let d = Locksmith.loadDataForUserAccount(userAccount: "A1", inService: "S1") {
// write it in a new location
Locksmith.saveData(data: d, forUserAccount: "A1", inService: "S2")
}
这是对我的代码的过度简化。
问题在于每次d = nil
,虽然我确定它存在(当我构建应用程序的v1时,我可以看到数据存在于该位置)。
有关于此的任何想法吗?有人遇到过这个问题吗?
一些技术规格:
没有尝试使用真实设备。