ios - 如何使用 "sequential finger detection"的新 iOS 9.2 Touch ID 功能

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

来自release notes:

Support for reusable Touch ID matches. A match from the previous phone unlock can be used by evaluateAccessControl: and evaluatePolicy:localizedReason:reply:.

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

抽象示例:

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

  2. 如果使用手指 2,则引发事件。手指 2 的后续使用没有事件。

我完全同意我不知道用的是什么手指,只是用了一个不同的手指。此信息可能会为我提供足够的信息来采取行动。

用例

我正在开发一款应用程序来帮助处理家庭暴力情况,如果受害者被要求解锁启用了触摸 ID 的应用程序,并且使用了不同的手指,那么求助电话就会从应用程序中谨慎地删除。

研究

这是 not documented在 Apple 的网站上,在发行说明之外,但它存在于 Xamarin's site 中。 .我跟进了 developer forums并且不想等待文档错误得到确认。

在我的场景中,一台设备由成人和 child 共享,他们都已注册 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

最佳答案

“支持可重复使用的 Touch ID 匹配...”意味着:-

您可以通过在 evaluateAccessControl: 和 evaluatePolicy:localizedReason:reply: 方法中指定时间间隔,在您的应用中重复使用设备解锁身份验证。

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

注意:持续时间必须以秒为单位。它的默认值为“0”,您指定的持续时间最长为 5 分钟,超过 5 分钟不会增加接受的间隔。

关于ios - 如何使用 "sequential finger detection"的新 iOS 9.2 Touch ID 功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34817790/

相关文章:

ios - 如何使用 HeaderDoc 在 Xcode 中为 SWIFT 文件生成 HTML 文档?

objective-c - 强制将特定本地化用于目标

iphone - 重复有间隙的 UILocalNotification

ios - 完全可见时在 UITableViewCell 上播放视频

objective-c - 您如何看待 Objective-C 中每次迭代保留计数并调用释放的这段代码?

javascript - 未剥离 AngularJS JSON 漏洞保护

php - 无需登录的 Symfony2 安全设置

ios - 如何在 Swift 中更改 UIWebView 中文本的行距

ruby - 我应该对小型单一服务服务器采取安全措施吗?

ios - Collection View 显示滚动时选择的尚未选择的单元格