web-dev-qa-db-ja.com

FaceID許可アラートを許可する

私のアプリ(iPhone X Simulator Xcode 9.0.1で実行)は、FaceIDを使用する許可を求めています。

アラートには次のように書かれています。

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.

LocalAuthenticationフレームワークで新しいAPIに加えたいくつかの変更(例:biometryType)は、基本的にFaceIDで機能するはずでした。

私のアプリFace IDを完全にサポートするように設計されているようにするために他に何かする必要がありますか?

7
beebcon

Face IDをサポートするには、NSFaceIDUsageDescriptionInfo.plistに追加する必要があるようです。

また、シミュレーターアラートはシミュレーター専用であり、Info.plistキーがないと、アプリはそれがない実際のデバイスでクラッシュするはずです。

私がこれを学ぶのを手伝ってくれたこれらの男に感謝します- NSFaceIDUsageDescriptionとは何ですか-Face IDの使用法の説明Info.plistキー?


ヒント:

許可プロンプトの前に、デバイスが対応している場合、[LAContext canEvaluatePolicy:error:]は生体認証に対してYESを返します。

iOSは、[LAContext evaluatePolicy:localizedReason:reply:]を最初に呼び出すまで、ユーザーに許可を求めません。

ユーザーがnot権限を付与しない場合、canEvaluatePolicyへの今後のすべての呼び出しはNOを返します(エラーコード=- 6「ユーザーはこのアプリでの生物測定の使用を拒否しました。」)。これは奇妙なニュアンスです。

12
beebcon