【问题标题】:Touch Id implementation with device's passcode feature使用设备的密码功能实现 Touch Id
【发布时间】:2014-11-26 09:17:36
【问题描述】:

我正在我的应用程序中实现触摸 ID 功能。 使用 evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics 的 touchID 可以正常工作

我还想使用 pass-code 选项,它是 Touch Id 的替代选项,我指的是 Apple 的使用钥匙串密码的演示代码。 Apple Sample Code link

我们不能使用addItemAsync 方法在不添加任何项目的情况下使用它来询问密码吗? 有没有其他方法可以在我们的应用程序中以编程方式询问设备的密码?

如果我尝试在不添加的情况下使用,则会出现错误errSecItemNotFound。 请建议我是否遗漏了什么,或者我们可以通过任何其他方式为我们的应用程序使用设备密码,

【问题讨论】:

    标签: ios objective-c iphone ios8 touch-id


    【解决方案1】:

    如果你想从钥匙串中读取一个项目,你必须先写它。如果该项目不存在,那么正如您所发现的,您将收到errSecItemNotFound - 因为找不到该项目。

    您只需在首次运行应用程序时向钥匙串添加一个项目 - 这将为您提供一个用于身份验证的项目。

    【讨论】:

    • 感谢您的回复。好的,是的,我明白你的意思。但实际上我想使用用户通过设置触摸 ID 为设备设置的密码。因此,要使用该密码,我必须像苹果的示例代码一样添加项目强制?或者任何其他方式使用它而不添加?请提出建议。
    • 是的,您只能使用密码从钥匙串中解锁项目 - 它不适用于通用身份验证
    • 好的,最后一个问题。假设我们使用像添加项目和解锁然后它会询问设备密码。所以我们可以说这是密码的通用用途。苹果可以拒绝这种实现的应用程序吗?
    • 只有苹果可以肯定地说,但我不这么认为。您没有使用私有 API。您正在使用它从钥匙串访问数据。是否使用钥匙串中的值无关紧要
    • 非常感谢您的回复:-)
    猜你喜欢
    • 1970-01-01
    • 2017-07-06
    • 2018-11-11
    • 1970-01-01
    • 2015-02-03
    • 2018-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多