澳门新葡亰官网APP买买买!廉价版新MacBook暴光:协理指纹解锁

原题目:买买买!廉价版新MacBook暴光:帮衬指纹解锁

title: 指纹解锁
date: 2015-9-16 11:39:45
categories: iOS
tags: 指纹解锁

来源| TechWeb


后天黎明一点钟就是苹果冬天新品的公布会了,这几天看TechWeb音信的小伙伴也清楚,TechWeb报导了一定多苹果新HUAWEI的揭露音讯,从形制到配色到售卖价格如故到发售时间,可以说宣布会没开以前,音讯已经被大家挖掘得一尘不到了。

作者:秋儿(lvruifei@foxmail.com

固然如此新华为是苹果发表会的主脑,不过这场宣布会并不仅唯有新BlackBerry。以后依据最新音信,苹果出名报料人郭明錤称,本次的公布会苹果还会牵动最新的低价版的MacBook!看到这几个新闻,应该多多的同伴也会感动啊。

iOS8
指纹解锁的API,那篇作品释疑的百般了解。

澳门新葡亰官网APP 1

正文主要针对在实质上拔取中遇到的标题及解决方法,假定已经通晓指纹解锁API,如不领会API,请先活动指纹解锁的API表达

郭明錤暴光图片

品类事先从来选取的是手势密码,近年来要增添 iOS8
新出的指纹解锁功效。要求是在装置中拉长指纹解锁开关

郭明錤在报料中称:“苹果只怕不会在五月这场发表会上公布那款新的廉价Mac台式机,不过它已经确实做好了。”意思也算得,低价版的
MacBook
笔记本苹果已经做好了,可是会不会在后天的公布会上揭橥那几个还不知底。同时,依照她的揭露,这款
MacBook 将资助 Touch ID 指纹认证,可是并未 TouchBar
触控条,毕竟“低价”嘛,倒是可以了然。

问题1:

在个人设置里面,添加指纹解锁开关项,此项仅在资助TouchID 的装置中冒出
很好,百度了下,拿到了如下化解方案

<font color=green>化解方案:</font>

LAContext *context = [LAContext new];
NSError *error = [NSError new];
BOOL isAvailable = [context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error];

这是api给出的判断TouchID是不是可用的法门,isAvailable == Yes 表明 TouchID
可用,反之,则不可用。
唯独,当作者满心欢愉的施用的时候,难点来了

澳门新葡亰官网APP 2

问题2:

在6 Plus,未设置手机解锁密码或没有可用的指纹时,用地点的主意判断
isAvailable == No,瞬间心都碎了。
此地还是有消除方案

<font color=green>化解方案:</font>

if (!isAvailable) {
    NSString *str = nil;
    switch (error.code) {
        case LAErrorTouchIDNotEnrolled://无可用指纹

        case LAErrorPasscodeNotSet://设备未开启密码
        {
            isAvailable = YES;
            break;
        }
        case LAErrorTouchIDNotAvailable:
        default:
        {
            isAvailable = NO;
            break;
        }

    }
}

就算依旧把这几个题材一举成功了。but,又发出了新的难题。

MacBook
是苹果集团在2014年出产的崭新台式机序列,它去掉了后缀直接就叫MacBook,在成品定位上是一款介于
MacBook Air 和 MacBook Pro
之间的出品,国行出售价格大约在1万到1万三以内。

问题3:

利用上述方式,在 iPod Touch 等不匡助 TouchID
的装置,未安装手机解锁密码意况下运作时,设置中的指纹解锁开关项居然出现了。

单步调试之,在 error.code 的 switch 中,进入的是 case
LAErrorPasscodeNotSet://设备未打开密码,执行了isAvailable =
YES;。然,大胆估摸之,api
居然先判断的是有没有打开密码而不是装备档次和或种类是还是不是支持,那使自个儿压根儿无语~~~~

此时,作者再也不倚重API了,果断本人写判断吧。

<font color=green>缓解方案:</font>

// 硬件设备不支持,或系统版本不支持 指纹解锁
if (![Utils isSystemModelSupportTouchID] || ![Utils isSystemVersionMoreThanVersion:7.0]) {
    return NO;
}

LAContext *context = [LAContext new];
NSError *error = [NSError new];
BOOL isDeviceSupportTouchId = [context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error];

if (!isDeviceSupportTouchId) {

    //不支持指纹识别

    switch (error.code) {

        case LAErrorTouchIDNotEnrolled:

        case LAErrorPasscodeNotSet:
        {
            isDeviceSupportTouchId = YES;
            break;
        }
        case LAErrorTouchIDNotAvailable:
        default:
        {
            isDeviceSupportTouchId = NO;
            break;
        }
    }
}


return isDeviceSupportTouchId;

硬件配备判断上花了一小点武术,版本判断显著很粗略。

硬件设备判断思路:

1.拿走装备档次字符串,如Nokia 5c,魅族 6;
2.判断设备项目字符串是带有中兴 ,iPod , GALAXY Tab,是Motorola则截取设备项目字符串中的第1人数字,平板电脑 有分mini 和Air,
截取设备档次字符串中的第三个人数字,然后数字相比较判断是不是辅助TouchID。

迄今,TouchID 告一段落!在此,附上本文中的 德姆o
地址:LRFFingerPrintManager,欢迎各位读者对象提议指出。。




时间:2015年12月23日

近年来 iOS9.2 系统专业宣布,有反应说App中运用指纹解锁在 iOS9.2
上会导致App崩溃。故,初步了寻找 bug 之旅。

而基于此前产业链分析师 吉米 Hsiao
的解析,这款入门级 MacBook 将会搭载与 MacBook Pro
相同尺寸的13.3寸Retina显示屏,而出售价格方面将与 MacBook Air
一致,或许会略高于 999 法郎(约合人民币 6315 元)。

问题4:

晋级手机9.2 版本后,使用指纹解锁,果然是崩溃了。手指放到 home
键上后,App 卡死,不大概点击页面上的控件,几乎3,4秒后闪退至桌面。

是因为测试机都不曾晋升,故先看了有关的代码,注意到在表明指纹成功后,
使用dispatch_sync(dispatch_get_main_queue(), ^{
})来调用主线程处理局地办事。遂,猜测应该是这里出了难题,一般应使用dispatch_async,而非dispatch_sync。但不敢肯定,因为不能解释那样写就会崩溃,而且从前一直都以能够不奇怪使用的。

<font color=brown>原因:</font>
iOS9.2
做了优化,使体验更通畅。恐怕在dispatch_async和dispatch_sync下了刀。

<font color=green>解决方案:</font>

待用9.2系统的真机运转时,半信半疑的把其改用了dispatch_async,并没有崩溃。但使用dispatch_sync确实崩溃了。

澳门新葡亰官网APP 3

MacBook
与 MacBook Air | 图片来源CNET

若是说新款入门级 MacBook
真的是那种布局而且那种价格的话,毫无疑问一定会变成热卖爆款了呢,如此一来苹果又有啥不可提振笔记本销量给股东交多个窘迫的实绩单了。

继承结果到底是怎么的吗?大家就静待后天苹果揭橥会发表了!

本文完再次回到和讯,查看更加多

义务编辑:

发表评论

电子邮件地址不会被公开。 必填项已用*标注