iOS开发中Touch ID的使用
import LocalAuthentication
但是我们还要注意一点,有的设备是不支持Touch ID的,比如iPhone 5s之前的设备和前几代iPad,所以我们需要通过这个函数来验证一下当前设备是否支持Touch ID
canEvaluatePolicy(_:error:)
func authenticateWithTouchID() {//获得引入的LocalAuthentication框架的Contextlet localAuthContext = LAContext()let reasonText = "Authentication is required to sign in AppCoda"var authError: NSError?if !localAuthContext.canEvaluatePolicy(LAPolicy.DeviceOwnerAuthenticationWithBiometrics, error: &authError) {// 代码执行到这里说明当前设备不支持Touch IDreturn}// 进行Touch ID验证localAuthContext.evaluatePolicy(LAPolicy.DeviceOwnerAuthenticationWithBiometrics, localizedReason: reasonText, reply: { (success: Bool, error: NSError?) -> Void inif success {// 处理成功的情况,这段示例代码里面采用异步完成页面跳转NSOperationQueue.mainQueue().addOperationWithBlock({self.performSegueWithIdentifier("showHomeScreen", sender: nil)})} else {// 显示各种错误提示switch error!.code {case LAError.AuthenticationFailed.rawValue:print("Authentication failed")case LAError.PasscodeNotSet.rawValue:print("Passcode not set")case LAError.SystemCancel.rawValue:print("Authentication was canceled by system")case LAError.UserCancel.rawValue:print("Authentication was canceled by the user")case LAError.TouchIDNotEnrolled.rawValue:print("Authentication could not start because Touch ID has no enrolled fingers.")case LAError.TouchIDNotAvailable.rawValue:print("Authentication could not start because Touch ID is not available.")case LAError.UserFallback.rawValue:print("User tapped the fallback button (Enter Password).")default:print(error!.localizedDescription)}// 如果最后没有成功通过Touch ID验证,则调用另外的函数来进行密码验证,下面的代码实现了异步弹出手工输入密码的自定义对话框NSOperationQueue.mainQueue().addOperationWithBlock({self.showLoginDialog()})}})}
iOS开发中Touch ID的使用相关推荐
- 在IOS开发中根据(id)sender获取UIButton的信息
-(IBAction) buttonClick:(id)sender //sender参数,表示接受哪个按钮消息 { UIButton *button = (UIButton *)sender; ...
- iOS开发中经常用的实用代码合集
iOS开发中经常用的实用代码合集 本文整理了,在iOS开发中我们所遇到一些开发问题的技巧类的代码,让你在开发过程中避免了很多弯路,希望能给你的开发带来帮助和启发. 1.判断邮箱格式是否正确的代码: / ...
- iOS开发中常用的方法
iOS开发中常用的方法 系统弹窗: 过期方法: UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:@"确认报价" ...
- iOS开发中的Web应用概述
为了更好的阅读体验,建议阅读原文 插播广告 -- 几十行代码完成资讯类App多种形式内容页 HybridPageKit :一个针对资讯类App高性能.易扩展.组件化的通用内容页实现框架. 想和我一起全 ...
- iOS开发中遇到的一些问题及解决方案【转载】
iOS开发中遇到的一些问题及解决方案[转载] 2015-12-29 [385][scrollView不接受点击事件,是因为事件传递失败] // // MyScrollView.m // Creat ...
- iOS 开发中的多线程
线程.进程 什么是线程.进程 有的人说进程就像是人的脑袋,线程就是脑袋上的头发~~.其实这么比方不算错,但是更简单的来说,用迅雷下载文件,迅雷这个程序就是一个进程,下载的文件就是一个线程,同时下载 ...
- iOS开发中使用[[UIApplication sharedApplication] openURL:]加载其它应用
iOS 应用程序之间(1) 在iOS开发中,经常需要调用其它App,如拨打电话.发送邮件等.UIApplication:openURL:方法是实现这一目的的最简单方法,该方法一般通过提供的url参数的 ...
- iOS开发中各种关键字的区别
1.一些概念 1.浅Copy:指针的复制,只是多了一个指向这块内存的指针,共用一块内存. 深Copy:内存的复制,两块内存是完全不同的, 也就是两个对象指针分别指向不同的内存,互不干涉. 2.atom ...
- ios开发中计算代码运算时间_iOS日历、日期、时间的计算
时间和日历的计算在iOS开发中经常看到,经常看到大家在百度,开源中国等搜索这些答案.今天写个简单的时间和日历有关的计算. 获取一个月的总天数 1.获取当月的天数 - (NSInteger)getNum ...
最新文章
- 对DeDecms之index.php页面的补充
- oracle数据库解锁表
- Spring+Mybatis+MySql+Maven 简单的事务管理案例
- exchange服务器磁盘性能,如何解决Exchange磁盘空间问题
- ADO,ADO.NET,OLEDB,ODBC连接数据库的区别
- python写机器人插件_从Python写入机器人框架控制台
- 电脑模拟收银机_模拟超市的收银系统
- swagger2 注解说明
- 使用阿里云国际版创建外贸网站,需要注意什么?-Unirech
- getlasterror 126
- 【翻译】设备管理器—英特尔网卡属性设置高级选项的功能
- iphone有关QQ和微信无法收到推送通知的终极解决方案
- Evaluate之迷思
- APP开发-第三方SDK使用
- SPSS MODELER笔记1----数据基本处理和整体方法概念
- 顺时针打印矩阵(编程题讲解)
- 【模电实验】基尔霍夫定律、叠加定理和戴维南定理验证实验
- 嵌入式工程师月薪最高排行榜
- 急!求各位学长大佬拯救!!
- c#使用wpd读取便携式设备信息二