0

我正在研究在访问钥匙串时引入 Touch ID 的新用户访问控制能力。

这是场景...

  • 我已经使用钥匙串查询中的新访问控制对象将用户密码写​​入钥匙串。
  • 下次我尝试返回这个秘密时,我将按预期看到 Touch ID / Passcode 界面。
  • 下次我尝试将相同的数据写入钥匙串时,我想先检查它是否已经存在。
  • 即使我将返回数据属性指定为 false,这也会显示 Touch ID 界面。但这不是我想要的。

这是预期的行为还是我错过了禁用 Touch ID 界面的特定属性?

4

1 回答 1

0

我认为您可以通过执行以下类似操作来实现:

// --- Add this code to your save method

// Adds a new keychain item
let status: OSStatus = SecItemAdd(keychainQuery as CFDictionaryRef, nil)

if status == errSecSuccess {
    println("Keychain Add: \(KeychainResultCode(rawValue: status)?.description)")
    return true
} else if status == errSecDuplicateItem {
    // perform an update
    return self.update(key, data: data)
} else {
    return false
}

以上是否满足您的需求?

于 2014-11-05T13:26:14.727 回答