我在iOS9和iOS10上尝试使用LocalAuthentication。并注意到以下行为差异。在iOS9中,如果我执行下面显示的代码,并通过使用错误的手指进行身份验证导致touchID被锁定,调用context.canEvaluatePolicy即使在TouchID被锁定后也会返回true,然后调用context.evaluatePolicy使设备提示我输入设备密码。在iOS10中,如果我锁定TouchID,canEvaluatePolicy返回false,错误是有一个指示TouchIDLockout的代码。TouchIDLockout是在iOS9中引入的,所以我希望在iOS9中获得
我在我的iOS应用程序中启用了触控ID。但iPhone5和5c指纹传感器不可用。如何以编程方式检测没有指纹传感器的设备。我的应用程序是用objective-c编写的。请帮帮我。谢谢 最佳答案 您应该使用TouchID身份验证所需的LAContext框架。LAErrorTouchIDNotAvailable显示哪个设备具有该功能。代码片段:-(IBAction)shouldAuthenticate:(id)sender{LAContext*context=[[LAContextalloc]init];NSError*error=nil
我的iOS应用程序使用TouchID来解锁一些安全服务。设计者不希望“取消”按钮的文本显示为“取消”,而是显示为“稍后设置”。我可以看到如何更改默认“输入密码”按钮的文本,这很简单:LAContext*context=[[LAContextalloc]init];context.localizedFallbackTitle=@"SpeakFriendandEnter";但是我没有看到可以设置为更改“取消”按钮标签的LAContext属性。我该怎么做? 最佳答案 是的,您可以从10.0版开始。文档:LocalizedCancelTit
应用程序是否可以取消LAContext上显示的touchid提示-evaluatePolicy(_:localizedReason:reply:).枚举LAError的文档有一个新的iOS9案例-AppCancel案例。header文档清楚地表明,这是在应用程序取消身份验证时返回的。但是我找不到任何关于如何制作应用程序来取消身份验证的引用。evaluatePolicy调用何时返回LAError.AppCancel? 最佳答案 我觉得你可以尝试调用你的设备取消指纹验证。 关于ios-什么时
我运行的是最新的Xcode9GM(2017年9月13日),并在模拟器中设置了Hardware>FaceID>Enrolled以及DeploymentTarget11.0。但是,我收到错误代码-6LAErrorTouchIDNotAvailable。是否缺少某些设置?letmyContext=LAContext()letmyLocalizedReasonString="Youarepretty"varauthError:NSError?if#available(iOS8.0,macOS10.12.1,*){ifmyContext.canEvaluatePolicy(.deviceOwne
Apple声称他们的武器库中有此类LAContext,但Xcode8.1告诉我:Useofunresolvedidentifier'LAContext'我的代码行如下:letcontext=LAContext()对我来说,这行代码并没有接缝到疯狂;),所有在线教程都使用它来检查是否启用了TouchID没问题,但在我的Xcode中,情况并非如此。我错过了什么? 最佳答案 您需要导入包含此类和其他相关功能的LocalAuthentication框架。importLocalAuthentication
使用LocalAuthentication有问题,支持iOS7.0当我尝试importLocalAuthentication如果目标iOS版本低于8.0,我会崩溃。我试图在构建阶段将LocalAuthentication.framework标记为可选,并通过调用检查类可用性:varisTouchIDSupported:Bool{ifletcontextClass:AnyClass=NSClassFromString("LAContext"){returnLAContext().canEvaluatePolicy(.DeviceOwnerAuthenticationWithBiometr
我通过将localizedFallbackTitle设置为“UsePassword”来自定义回退按钮。有效。但是在我将我的iPhone更新到iOS8.3之后,回退按钮在TouchIDView上消失了。这是API更新还是iOS8.3的错误?如何解决? 最佳答案 它有效。它仅在用户首次通过TouchId进行身份验证失败时显示。它出现在第二步。iOS8.2,就像:现在,在iOS8.3中,它分为两个步骤:首先,其次,如果您未能验证指纹。localizedFallbackTitle(==“输入密码”在上图中)可以在第二个弹出窗口中看到。
我通过将localizedFallbackTitle设置为“UsePassword”来自定义回退按钮。有效。但是在我将我的iPhone更新到iOS8.3之后,回退按钮在TouchIDView上消失了。这是API更新还是iOS8.3的错误?如何解决? 最佳答案 它有效。它仅在用户首次通过TouchId进行身份验证失败时显示。它出现在第二步。iOS8.2,就像:现在,在iOS8.3中,它分为两个步骤:首先,其次,如果您未能验证指纹。localizedFallbackTitle(==“输入密码”在上图中)可以在第二个弹出窗口中看到。
我想知道LocalAuthentication框架中的LAContext实例在iOS8中的生命周期是怎样的。在iOS9及更高版本中,有invalidate方法可以手动使当前上下文无效。如果我不使用该方法,LAContext实例仍将处于事件状态并存储评估状态。可以说我可以在使用后简单地将它设为nil/release,但我需要跨功能的实例来执行其他操作,例如验证它的可用性并在不同点启用invalidate方法风险投资公司。这是否也发生在iOS8上?我会问Apple,因为文档没有澄清这一点,但我想事先了解更多想法。谢谢大家! 最佳答案 A