iOS 8 Beta Keychain Контроль доступа пользователей

Я смотрю на новые возможности контроля доступа пользователей с введением Touch ID при доступе к цепочке для ключей.

Вот сценарий...

  • Я записал секрет пользователя в связку ключей с новым объектом контроля доступа в запросе связки ключей.
  • В следующий раз, когда я попытаюсь вернуть этот секрет, мне будет предоставлен интерфейс Touch ID / Passcode, как и ожидалось.
  • В следующий раз, когда я попытаюсь записать те же данные в цепочку для ключей, я хочу сначала проверить, существует ли она уже.
  • Это также представляет интерфейс Touch ID, даже если я указываю атрибут возвращаемых данных в false. Но это не то, что я хочу.

Это ожидаемое поведение или мне не хватает определенного атрибута для отключения интерфейса Touch ID?

1 ответ

Я думаю, что вы пытаетесь достичь возможно, делая что-то похожее на:

// --- 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
}

Работает ли вышеуказанное для ваших нужд?

Другие вопросы по тегам