查看iPhone 5s上是否启用了Touch ID

ash*_*ash 4 ios ios7 touch-id

我知道iPhone 5S上的Touch ID不能被任何其他应用程序通过SDK使用,但我想知道应用程序是否有可能至少看看设备上是否启用了Touch ID.这可以作为应用程序的额外安全因素,以查看是否已在iPhone 5S上启用Touch ID.我知道MDM产品可以做到这一点,应用程序需要使用特殊的API来确定这些信息吗?

小智 7

你正在寻找的方法是LAContextcanEvaluatePolicy:error:.在以下情况下它将返回NO:

  • Touch ID在设备上不可用.
  • 设备上未设置密码.
  • Touch ID没有已注册的手指.

此处有更多信息:本地身份验证框架参考

- (BOOL) isTouchIDAvailable {
    LAContext *myContext = [[LAContext alloc] init];
    NSError *authError = nil;

    if (![myContext canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&authError]) {

        NSLog(@"%@", [authError localizedDescription]);
        return NO;
    }
    return YES;
}
Run Code Online (Sandbox Code Playgroud)