繁体   English   中英

警告:iOS 11中不推荐使用touchID

[英]Warning: touchID deprecated in iOS 11.0

我在我的应用程序中支持Touch ID和Face ID。 要支持旧版本的iOS,我使用以下代码:

if #available(iOS 11.0, *) {
    biometricsNotEnrolled = LAError.biometryNotEnrolled
    biometricsLocked = LAError.biometryLockout
} else {
    biometricsNotEnrolled = LAError.touchIDNotEnrolled
    biometricsLocked = LAError.touchIDLockout
}

switch(error) {
case biometricsNotEnrolled:
    // Do stuff
case LAError.passcodeNotSet:
    // Do stuff
case biometricsLocked:
    // Do stuff
default:
    // Do stuff
}

但是当我编译时,我会得到以下警告:

warning: 'touchIDLockout' was deprecated in iOS 11.0: use LAErrorBiometryLockout

warning: 'touchIDNotEnrolled' was deprecated in iOS 11.0: use LAErrorBiometryNotEnrolled

warning: 'touchIDNotAvailable' was deprecated in iOS 11.0: use LAErrorBiometryNotAvailable

我该如何摆脱警告?

您的项目或目标版本可以解决此问题。

这里测试了两个版本的代码 - iOS 11.xiOS 10.x

如果您的项目目标版本是iOS 11+,那么它将根据Apple Document for LAError.Code显示此警告,这些值在iOS 11.0中已弃用。


测试结果 - iOS 11.x.

在此输入图像描述


测试结果 - iOS 10.x.

在此输入图像描述

当您设置某些iOS版本的部署目标时,将为该版本显示弃用消息,在这种情况下,对于iOS 11,更低的部署目标将停止显示警告。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM