2017-11-14 22 views
3

アプリ内でタッチIDと顔IDをサポートしています。私は次の警告を取得しますコンパイル時に警告: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 

がどのように私は警告を取り除くことができますか?私は、次のコードを使用しているのiOSの古いバージョンをサポートするために、

+0

アプリのように思えるが、ターゲットのiOSです11、それは非難されると言います – Tj3n

+0

@ Tj3nそれは正しい - ありがとう。 iOSデプロイメントターゲットはテストターゲットのために少し隠されていました。 – Noroxs

答えて

3

プロジェクトまたはターゲットバージョンでこの問題を解決できます。ここで

は、両方のバージョンでは、あなたのコードをテストしている - iOS 11.x & iOS 10.x

プロジェクトのターゲットバージョンはiOSの11+であれば、それはLAError.CodeのためのAppleのドキュメントに従ってとして、あなたのこの警告が表示されます、これらの値はiOSの11.0で廃止されました。


テスト結果 - iOSのは、11.xの

テスト結果enter image description here


- iOSの10.xの

enter image description here

0

展開ターゲットを確認してください。

オープンプロジェクト設定 - >一般 - >新しい警告を沈黙させる@availableチェックで展開ターゲット

&囲みコード。

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

あなたには、いくつかのiOSバージョンのデプロイメント・ターゲットを設定している場合、iOSの11のために、警告の表示を停止しますデプロイメント・ターゲットを下げて、この場合には、そのバージョンの表示されたメッセージを非推奨。

関連する問題