2017-10-20 27 views
5

私のアプリ(iPhone X Simulator Xcode 9.0.1で動作している)がフェイスIDの使用許可を求めています。フェイスID許可アラートを許可する

アラートは言う:私はLocalAuthenticationフレームワーク(例えばbiometryType)に新しいAPIに行われたいくつかの変更は、基本的には、顔IDのために働くことになっていたことを期待していた

Do you want to allow <appName> to use Face ID? This app was designed to use Touch ID and may not fully support Face ID.

私のアプリケーションは、顔IDを完全にサポートするように設計されたです。

答えて

6

フェイスIDをサポートするにはInfo.plistNSFaceIDUsageDescriptionを追加する必要があるようです。

また、シミュレータアラートは、そのInfo.plistキーなしでは、実際のデバイスでは明らかにアプリケーションがクラッシュするはずです。私はこのことを学ぶ手助けのためにこれらの男に

おかげ - What is NSFaceIDUsageDescription - Face ID Usage Description Info.plist key?


Protip:

事前の許可プロンプトに、[LAContext canEvaluatePolicy:error:]戻っデバイスは、それが可能であれば生体認証のためのYES

iOSは、最初に[LAContext evaluatePolicy:localizedReason:reply:]を呼び出すまで、ユーザーに許可を求めるメッセージは表示されません。

ユーザーがない助成金の許可をした場合は、canEvaluatePolicyへの今後のすべての呼び出しはNO(エラーコード= -6「ユーザーはこのアプリのために、バイオメトリの使用を否定しているの。」)を返します。これは奇妙なニュアンスです。

+1

「このアプリのバイオメトリの使用を拒否しました」https://stackoverflow.com/a/47470580/3172445 –

+0

「NSFaceIDUsageDescription」テストなしでアプリがクラッシュしないケース:Xcode 9.2とiOS 11.2 SDKによる物理的なiPhone Xのデバッガ。結果:「このアプリはTouch IDを使用するように設計されており、Face IDを完全にサポートしていない可能性があります」というメッセージが表示されます。アプリがクラッシュすることはありません。 –

+0

@ChrisWoolfe編集 - 私の間違い - おそらく彼らはiOS 11.2の動作に対処しましたか? 11.1か11.0でクラッシュしないようにすることをお勧めします – beebcon