1

我正在将 TouchID 集成到我的应用程序中,但我不明白这两个按钮enter passwordcancel. 它们导致LAErrorUserCancelor错误LAErrorUserFallback,但我无法以不同的方式处理它们,所以我想避免使用这两个按钮之一。有没有办法做到这一点?或者这里的最佳做法是什么?

1Password 是这里的一个例子;用户获得的两个按钮都导致相同的操作 - 您必须手动将密码输入应用程序。在我看来,这里只有一个按钮是有意义的。

4

2 回答 2

3

如果您的应用程序不需要“输入密码”按钮,删除它非常容易。只需将localizedFallbackTitle属性设置为空字符串,而不是nil,按钮就不会显示。

LAContext *context = [[LAContext alloc] init];
context.localizedFallbackTitle = @"";

(如果需要,您也不能将其设置为更适合您的应用程序的内容,只需将字符串放入其中即可。)

注意:要实际回答发布的问题,而不是回答该 OP 在另一个答案上留下的评论......当用户决定不使用 TouchID 但宁愿输入密码来访问时,后备案例很有用您的锁定服务。您将在evaluatePolicy消息中对此进行测试。

于 2014-12-30T20:38:26.587 回答
1

如果从包含密码字段的同一 VC 中显示 touchID 警报视图,则两个选项将完成相同的操作。但是,如果您有可以取消完整身份验证操作 (LAErrorUserCancel) 或显示登录视图控制器 (LAErrorUserFallback) 的工作流程,请考虑一下。

于 2014-10-01T15:59:17.883 回答