2017-11-14 20 views
3

앱에서 터치 ID와 페이스 ID를 지원하고 있습니다. 이전 버전의 iOS를 지원하기 위해 나는 다음과 같은 코드를 사용하고 있습니다 :경고 : iOS 11.0에서 더 이상 사용되지 않는 touchID

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 

가 어떻게이 경고 제거 할 수 있습니까?

+0

앱 것 같다 대상 아이폰 OS입니다 11, 더 이상 사용되지 않음 – Tj3n

+0

@ Tj3n 맞았어요. 고마워요. iOS 배포 타겟이 내 테스트 타겟을 위해 조금 더 숨겨졌습니다. – Noroxs

답변

3

프로젝트 또는 타겟 버전으로이 문제를 해결할 수 있습니다. 여기

두 버전에 당신에게 코드를 테스트 - iOS 11.x & iOS 10.x

프로젝트 대상 버전은 다음이 LAError.Code 애플 문서에 따라 같은이 경고가 표시됩니다 11 + iOS의 경우,이 값은 아이폰 OS 11.0에서 사용되지 않습니다 .


테스트 결과 - 아이폰 OS는 11.x의

테스트 결과 enter image description here


- 아이폰 OS 10.x에서

enter image description here

0

배포 대상을 확인하십시오.

열기 프로젝트 설정 -> 일반 -> 새로운 경고를 침묵 @available 검사에서 배포 대상

& 둘러싸 코드입니다.

if (@available(iOS 11.0, *)) { 
    //LAErrorBiometryLockout 
} 
0

일부 iOS 버전의 배포 대상을 설정하는 경우, 아이폰 OS (11)에 대해 경고를 게재가 중단됩니다 전개 대상을 낮출는이 경우, 해당 버전이 표시됩니다 메시지를 더 이상 사용.