Touch Id 和 距離傳感器的使用方法

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(@"有物體遠離!!!");

}

}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容