我深入苹果的Touch ID,更准确地说是本地认证器.
现在的文档是相当稀疏的.
它主要是这样的:
LAContext *myContext = [[LAContext alloc] init];
NSError *authError = nil;
Nsstring *myLocalizedReasonString = <#String explaining why app needs authentication#>;

if ([myContext canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics    error:&authError]) {
[myContext evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics
              localizedReason:myLocalizedReasonString
                        reply:^(BOOL success,NSError *error) {
        if (success) {
            // User authenticated successfully,take appropriate action
        } else {
            // User did not authenticate successfully,look at error and take appropriate action
        }
    }];
} else {
// Could not evaluate policy; look at authError and present an appropriate message to user
}

取自https://developer.apple.com/library/prerelease/ios/documentation/LocalAuthentication/Reference/LocalAuthentication_Framework/index.html

使用您的指纹进行认证的想法是不错的.但是如果我知道密码,我可以在设备中添加指纹.它很容易得到密码,就像你坐在列车旁的受害者旁边,看他/她输入密码.

我想使用指纹作为安全认证的一种方法,但是想要能够检测自从上次请求指纹以来是否添加了新的指纹.

苹果正在为AppStore做这件事.如果您想在AppStore中验证一笔交易,并且自上次交易以来添加了新的指纹,AppStore会请求您的AppleId-Password.这是一个理智的行为,因为手机可能已经被别人知道密码,并添加了自己的指纹来购买昂贵的东西.

我的问题:自从上次使用本地身份验证器以来,是否可以检测到是否添加了新的指纹?

解决方法

简而言之;没有.

多一点细节; LocalAuthentication框架是一个严密防护的黑匣子.你从中得到的信息非常有限.你与它的互动是这样的:

>询问它是否能够针对某种类型的策略进行身份验证(写入时只有1个可用) – Biometrics(Touch ID))
>如果可以的话,请问它实际上是这样做的
>系统接管实际认证
>它可以让你知道身份验证是否成功(如果没有,它告诉你为什么)

您没有实际身份验证过程的概念(例如使用手指).这当然是设计的.苹果不想要也不需要给你访问这些信息.

ios8 TouchID检测如果指纹被添加的更多相关文章

  1. ios – 将iphone应用程序重定向到苹果商店

    我有一个iPhone应用程序,当有可用的升级时,我想提示用户升级,如果他们点击升级,我想将它们重定向到苹果商店.这是怎么做到的?

  2. ios – 在Appstore上更改卖家的姓名

    有没有我的开发人员程序改变我的应用程序名称下出现的名称?一张照片就像一千个字,所以…

  3. ios – 无法在真正的苹果手表上运行应用程序

    在此先感谢您的帮助!解决方法当这发生在我身上时,我通过以下方式解决了这个问题:>确保您的Main.storyboard没有问题,它有一个初始视图控制器.>手机上已删除的应用程式>重启手机>重启手表>退出xcode并重新启动mac

  4. 在iOS中阅读短信

    我是一个iOS开发人员,我已经尝试使用自动激活功能构建移动应用程序,我发现不仅仅是阅读短信,而只是使用私有API,这将导致苹果拒绝我的应用程序,我有两个问题,并感谢任何反馈可以帮助我.1-有没有办法在iOS平台上阅读短信,而不会面临苹果拒绝?任何人都可以向我提供Apple开发人员文档中的相关部分,该部分描述在iOS平台中不允许阅读短信?

  5. ios – UIAutomation:任何方式来解雇“想使用您当前的位置”提醒?

    我的应用程序正在使用位置服务,而对于自动测试,我想要能够解除“APP想要使用当前位置”弹出窗口.但是,当我尝试使用UIAutomation脚本在Instruments中执行此操作时,我会收到此错误:这样做是有道理的,因为警报是由不同的过程产生的.但是,在这种情况下,苹果计划如何帮助人们自动化测试?

  6. ios – 使用表冠来控制WKInterfaceSlider

    我想使用苹果表冠来控制滑块.这可能吗?如果是这样,怎么办?苹果使用它来改变手表的UI上的颜色.编辑:所以现在似乎不可能.重要的是要注意两个星期的时间,这可能会改变(也许是独立应用的Watch操作系统?

  7. 苹果是否允许iOS上的Qt作为动态库?

    随着Qt5.1中Android/iOS支持的技术预览,有没有关于部署到苹果应用商店的消息?由于Qt的非商业版本是LGPL授权的,而dylibs通常不被应用商店规则所允许,所以在Digia或Apple方面不会有例外,但是Licensingtalk不提供任何更新关于这个问题的信息.那么,有没有人尝试推动一个动态链接的Qt应用程序到商店,或有任何一方的官方声明?

  8. ios – Apple Watch应用程序检测苹果手表是否与手机配对

    当用户在手机上打开应用程序是否有一种方法来检测手机是否配对/连接到苹果手表?解决方法没有内置方法来确定Watch是否与iPhone配对.一个常见的策略是将BOOL写入共享的NSUserDefaults,以便iPhone知道Watch应用程序至少运行了一次.这是我在自己的应用程序中使用的技术.

  9. ios8 TouchID检测如果指纹被添加

    我深入苹果的TouchID,更准确地说是本地认证器.现在的文档是相当稀疏的.它主要是这样的:取自https://developer.apple.com/library/prerelease/ios/documentation/LocalAuthentication/Reference/LocalAuthentication_Framework/index.html使用您的指纹进行认证的想法是不错的

  10. ios – 如何恢复非更新的Apple订阅

    解决方法解释苹果处理这些问题时所提供的建议:根据iTunesConnect开发人员指南:…

随机推荐

  1. iOS实现拖拽View跟随手指浮动效果

    这篇文章主要为大家详细介绍了iOS实现拖拽View跟随手指浮动,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  2. iOS – genstrings:无法连接到输出目录en.lproj

    使用我桌面上的项目文件夹,我启动终端输入:cd然后将我的项目文件夹拖到终端,它给了我路径.然后我将这行代码粘贴到终端中找.-name*.m|xargsgenstrings-oen.lproj我在终端中收到此错误消息:genstrings:无法连接到输出目录en.lproj它多次打印这行,然后说我的项目是一个目录的路径?没有.strings文件.对我做错了什么的想法?

  3. iOS 7 UIButtonBarItem图像没有色调

    如何确保按钮图标采用全局色调?解决方法只是想将其转换为根注释,以便为“回答”复选标记提供更好的上下文,并提供更好的格式.我能想出这个!

  4. ios – 在自定义相机层的AVFoundation中自动对焦和自动曝光

    为AVFoundation定制图层相机创建精确的自动对焦和曝光的最佳方法是什么?

  5. ios – Xcode找不到Alamofire,错误:没有这样的模块’Alamofire’

    我正在尝试按照github(https://github.com/Alamofire/Alamofire#cocoapods)指令将Alamofire包含在我的Swift项目中.我创建了一个新项目,导航到项目目录并运行此命令sudogeminstallcocoapods.然后我面临以下错误:搜索后我设法通过运行此命令安装cocoapodssudogeminstall-n/usr/local/bin

  6. ios – 在没有iPhone6s或更新的情况下测试ARKit

    我在决定下载Xcode9之前.我想玩新的框架–ARKit.我知道要用ARKit运行app我需要一个带有A9芯片或更新版本的设备.不幸的是我有一个较旧的.我的问题是已经下载了新Xcode的人.在我的情况下有可能运行ARKit应用程序吗?那个或其他任何模拟器?任何想法或我将不得不购买新设备?解决方法任何iOS11设备都可以使用ARKit,但是具有高质量AR体验的全球跟踪功能需要使用A9或更高版本处理器的设备.使用iOS11测试版更新您的设备是必要的.

  7. 将iOS应用移植到Android

    我们制作了一个具有2000个目标c类的退出大型iOS应用程序.我想知道有一个最佳实践指南将其移植到Android?此外,由于我们的应用程序大量使用UINavigation和UIView控制器,我想知道在Android上有类似的模型和实现.谢谢到目前为止,guenter解决方法老实说,我认为你正在计划的只是制作难以维护的糟糕代码.我意识到这听起来像很多工作,但从长远来看它会更容易,我只是将应用程序的概念“移植”到android并从头开始编写.

  8. ios – 在Swift中覆盖Objective C类方法

    我是Swift的初学者,我正在尝试在Swift项目中使用JSONModel.我想从JSONModel覆盖方法keyMapper,但我没有找到如何覆盖模型类中的Objective-C类方法.该方法的签名是:我怎样才能做到这一点?解决方法您可以像覆盖实例方法一样执行此操作,但使用class关键字除外:

  9. ios – 在WKWebView中获取链接URL

    我想在WKWebView中获取tapped链接的url.链接采用自定义格式,可触发应用中的某些操作.例如HTTP://我的网站/帮助#深层链接对讲.我这样使用KVO:这在第一次点击链接时效果很好.但是,如果我连续两次点击相同的链接,它将不报告链接点击.是否有解决方法来解决这个问题,以便我可以检测每个点击并获取链接?任何关于这个的指针都会很棒!解决方法像这样更改addobserver在observeValue函数中,您可以获得两个值

  10. ios – 在Swift的UIView中找到UILabel

    我正在尝试在我的UIViewControllers的超级视图中找到我的UILabels.这是我的代码:这是在Objective-C中推荐的方式,但是在Swift中我只得到UIViews和CALayer.我肯定在提供给这个方法的视图中有UILabel.我错过了什么?我的UIViewController中的调用:解决方法使用函数式编程概念可以更轻松地实现这一目标.

返回
顶部