如何使用“顺序手指检测”的新iOS 9.2 Touch ID功能

时间:2016-01-15 18:50:42

标签: ios objective-c security touch-id ios9.2

来自release notes:

  

支持可重复使用的Touch ID匹配。 evaluateAccessControl可以使用上一次手机解锁的匹配:和evaluatePolicy:localizedReason:reply:。

对我来说,这意味着如果使用不同的手指,可以触发事件。

摘要示例:

  1. 用手指1登录,再用手指1登录,然后再次登录。没有事件。

  2. 如果使用手指2,则会引发事件。后续使用手指2无事件。

  3. 我完全同意我不会知道使用了什么手指,只是使用了不同的。这个信息可能会给我足够的信息来采取行动。

    使用案例

    我正在创建一个应用程序,以协助家庭暴力情况,如果要求受害者解锁启用触摸ID的应用程序,并使用不同的手指,则会从应用程序中谨慎地删除求助电话。< / p>

    研究

    这是发布说明之外的Apple网站上的not documented,然而它是Xamarin's site内的Diffs。我跟进了developer forums并且不想等待文档错误被确认。

    在我的场景中,设备在成人和儿童之间共享,两者都注册了TouchID。我需要确定是否使用了不同的手指来保护敏感设置。

    问题

    如何使用LocalisedReasonReply确定是否使用了不同的手指来解锁手机? (或者我误解了新功能)

    [Foundation.Export("evaluateAccessControl:operation:localizedReason:reply:")]
    public virtual Void EvaluateAccessControl (SecAccessControl accessControl,LAAccessControlOperation operation, String localizedReason, [ObjCRuntime.BlockProxy(typeof(ObjCRuntime.Trampolines/NIDActionArity2V1))]Action`2 reply)
    

    供参考,我pasted the LAContext.h file here

1 个答案:

答案 0 :(得分:2)

&#34;支持可重复使用的Touch ID匹配......&#34;意思是: -

您可以通过在evaluateAccessControl中指定时间间隔来重新使用设备解锁身份验证:和evaluatePolicy:localizedReason:reply:methods。

通过使用LAContext属性&#34; touchIDAuthenticationAllowableReuseDuration&#34;,您可以在应用中重用设备解锁身份验证,这是因为在设备解锁时您已经验证了自己。因此,不需要再次进行身份验证。(新介绍iOS 9)

注意:持续时间必须以秒为单位。它的默认值是&#39; 0&#39;并且您指定持续时间最多5分钟,超过5分钟不会增加接受的间隔。