有什么方法可以检查我的应用程序是否启用了 TouchID,

如何检查我的应用程序是否启用了 TouchID,

例如 :

DropBox 具有启用图形打印传感器的功能。现在有什么方法可以检查我的应用程序是否显示基于 touchid 启用的 TouchID 屏幕。

最佳答案

根据你使用 Objective-C

首先,添加检查iOS版本的方法
TouchID 需要 iOS8+ 才能工作

#define SYSTEM_VERSION_EQUAL_TO(v)                  ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedSame)
#define SYSTEM_VERSION_GREATER_THAN(v)              ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedDescending)
#define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v)  ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)
#define SYSTEM_VERSION_LESS_THAN(v)                 ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedAscending)
#define SYSTEM_VERSION_LESS_THAN_OR_EQUAL_TO(v)     ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedDescending)

然后,使用 LAContext canEvaluatePolicy:error: 来评估 TouchID 是否存在


- (BOOL)isTouchIDAvailable {
    if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"8.0")) {
        return [[[LAContext alloc] init] canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:nil];
    }
    return NO;
}

关于ios - 如何检查TouchID是否启用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29556384/

10-08 21:25