我在我的应用中支持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
}
如何摆脱警告?
答案 0 :(得分:2)
您的项目或目标版本可以解决此问题。
以下是两个版本的代码测试 - iOS 11.x
&amp; iOS 10.x
如果您的项目目标版本是iOS 11+,那么它将根据Apple文档LAError.Code显示此警告,这些值在iOS 11.0中已弃用。
测试结果 - iOS 11.x
测试结果 - iOS 10.x
答案 1 :(得分:0)
当您设置某个iOS版本的部署目标时,将为该版本显示弃用消息,在这种情况下,对于iOS 11,更低的部署目标将停止显示警告。