私のアプリ(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を完全にサポートするように設計されているようにするために他に何かする必要がありますか?
Face IDをサポートするには、NSFaceIDUsageDescription
をInfo.plist
に追加する必要があるようです。
また、シミュレーターアラートはシミュレーター専用であり、Info.plistキーがないと、アプリはそれがない実際のデバイスでクラッシュするはずです。
私がこれを学ぶのを手伝ってくれたこれらの男に感謝します- NSFaceIDUsageDescriptionとは何ですか-Face IDの使用法の説明Info.plistキー?
ヒント:
許可プロンプトの前に、デバイスが対応している場合、[LAContext canEvaluatePolicy:error:]
は生体認証に対してYES
を返します。
iOSは、[LAContext evaluatePolicy:localizedReason:reply:]
を最初に呼び出すまで、ユーザーに許可を求めません。
ユーザーがnot権限を付与しない場合、canEvaluatePolicy
への今後のすべての呼び出しはNO
を返します(エラーコード=- 6「ユーザーはこのアプリでの生物測定の使用を拒否しました。」)。これは奇妙なニュアンスです。