警告:iOS 11.0 中不推荐使用 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 版本的部署目标时,将显示该版本的弃用消息,在本例中为 iOS 11,降低部署目标将停止显示警告。
您的项目或目标版本可以解决这个问题。
这里测试了你在两个版本中的代码 - iOS 11.x
& iOS 10.x
如果您的项目目标版本是 iOS 11+,那么它将根据 LAError.Code 的 Apple 文档向您显示此警告,这些值在 iOS 11.0 中已弃用。
测试结果 - iOS 11.x
测试结果 - iOS 10.x
我在我的应用程序中支持 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 版本的部署目标时,将显示该版本的弃用消息,在本例中为 iOS 11,降低部署目标将停止显示警告。
您的项目或目标版本可以解决这个问题。
这里测试了你在两个版本中的代码 - iOS 11.x
& iOS 10.x
如果您的项目目标版本是 iOS 11+,那么它将根据 LAError.Code 的 Apple 文档向您显示此警告,这些值在 iOS 11.0 中已弃用。
测试结果 - iOS 11.x
测试结果 - iOS 10.x