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

时间:2017-11-14 08:06:26

标签: ios ios11 biometrics touch-id deprecation-warning

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

for (char letter = 'A'; letter <= 'Z'; letter++)
{
    Console.WriteLine(letter); 

    foreach (var studentName in _students) 
    {
        if (studentName)                   
        {
            Console.WriteLine(studentName.Lastname + " " + studentName.Firstname);                      
        }
    }
}

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

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
}

如何摆脱警告?

2 个答案:

答案 0 :(得分:2)

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

以下是两个版本的代码测试 - iOS 11.x&amp; iOS 10.x

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


测试结果 - iOS 11.x

enter image description here


测试结果 - iOS 10.x

enter image description here

答案 1 :(得分:0)

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