1

在我正在开发的一个 iOS 应用程序中,我将一些信息存储在钥匙串中。为了与钥匙串进行交互,我正在使用 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 时,我可以看到数据存在于那个位置)。

对此有什么想法吗?以前有人遇到过这个问题吗?

一些技术规格:

  • Xcode 8.3
  • 斯威夫特 3.1
  • 锁匠 3.0(通过迦太基)
  • 运行 iOS 10.3 的 iOS 模拟器 (iPhone 6s)

没试过真机。

4

0 回答 0