Touch Id 和 距离传感器的使用方法

2017-07-04  本文已影响0人  UNforgetta_ab44

Touch id 是8.0系统之后苹果出的一个指纹功能,要使用先要判断系统是否支持。

需要添加LocalAuthentication.framework包,

引入头文件LocalAuthentication.h并创建LAContext。

Touch Id代码:

// Touch Id 需要系统8.0以上

if (NSFoundationVersionNumber >= NSFoundationVersionNumber_iOS_8_0) {

NSLog(@"iOS8.0以上");

} else {

NSLog(@"iOS8.0以下");

}

// Touch Id

// 创建LAContext

_lacontext = [[LAContext alloc] init];

NSError *error;

if ([_lacontext canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error]) {

[_lacontext evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:@"弹出框的提示文字" reply:^(BOOL success, NSError * _Nullable error) {

if (success) {

NSLog(@"验证成功时的操作");

} else {

NSLog(@"验证失败时的操作");

}

}];

} else {

NSLog(@"不支持Touch id");

}

距离传感器代码:

// 距离传感器(我们在打电话的时候,当屏幕靠近自己的大脸( ̄ε(# ̄)☆╰╮( ̄▽ ̄///) ,屏幕就会关闭了。当远离障碍物的时候,屏幕就又亮了。这其实就用到了距离传感器。)

// 判断是否支持距离传感器

if (([UIDevice currentDevice].proximityMonitoringEnabled = YES)) {

NSLog(@"支持距离传感器");

// 通过通知监听是否有物体靠近还是离开

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(proximityStateDidChange:) name:UIDeviceProximityStateDidChangeNotification object:nil];

} else {

NSLog(@"不支持距离传感器");

}

// 距离传感器监听的事件

- (void)proximityStateDidChange:(NSNotification *)note {

if ([UIDevice currentDevice].proximityState) {

NSLog(@"有物体靠近!!!");

} else {

NSLog(@"有物体远离!!!");

}

}

上一篇下一篇

猜你喜欢

热点阅读