升级到iOS 11后,无法使用Touch ID

时间:2017-11-03 03:48:09

标签: ios touch-id

我们的应用支持Touch ID。当用户使用iOS10时,我们使用Touch ID将登录名保存到钥匙串。

但是,当用户升级到iOS11时,用户无法从iOS 10中检索已保存的Touch ID。

我测试了每个iOS版本,它运行正常,只有升级问题。

如果没有足够的硬件很难解决这个问题,我只能升级一次。

要在viewDidLoad中显示的代码:

let touchIdHelper = TouchIdHelper(promptMessage: viewModel.getPasswordReason)
        if !touchIdHelper.isDeviceTouchIdReady() {
            hideTouchIdComponents()
        } else {
            if self.viewModel.canLoginUsingTouchId {
                touchIdHelper.promptTouchId(completion: {
                    let decryptedPassword = self.viewModel.decryptedPassword
                    if decryptedPassword.characters.count > 0 {
                        self.updatePasswordAndLogin(decryptedPassword)
                    }
                })
            }
        }

商店密码功能:

func storePasswordForTouchIdLogin() -> Bool {
               
        let keychainHelper = KeychainHelper(dataCode: currentAccountId,
                                            encryptionKeyCode: touchIdEncryptionKey,
                                            data: currentPassword)
        return keychainHelper.encryptAndStore()
    }

解密功能:

var decryptedPassword: String {
       
        let keychainHelper = KeychainHelper(dataCode: currentAccountId,
                                            encryptionKeyCode: touchIdEncryptionKey)
        return keychainHelper.readAndDecrypt()
    }

有人遇到过模拟器问题吗?非常感谢!

0 个答案:

没有答案