IDを使用した生体認証機能はロックを解除する際だけでなく、アプリのインストール時の認証や購入時などこれまでパスワードを入力していた場面に置き換わり使用者としても欠かせない機能の1つになっています。IDを使用した認証機能を導入してみたので実装方法や注意点などをまとめていきます。Enclave(セキュアエンクレーブ)と呼ばれるセキュリティプロセッサによって管理されています。EnclaveはOSからもアクセスできない場所でデータを管理しているため強固なセキュリティを実現しているようです。Swiftでも実際のデータ自体にアクセスはできませんがLocalAuthenticationというフレームワークが仲介として様々な機能を提供してくれています。IDを使用した認証機能を実装するためにはLocalAuthenticationフレームワークを使用します。ID)、登録済みのパスフレーズ(パスワード)で認証をできるAPIを提供しています。このフレームワークではセキュリティ面が考慮され、認証機能の基盤である指紋情報や顔情報などにはアクセスできないようになっています。公式サイトに実装サンプルが用意されていたのでこれを元に実装していきたいと思います。生体認証管理クラスを作成NSFaceIDUsageDescriptionキーの追加アプリから生体認証機能を利用するためには「info.plist」にキーを追加し使用する理由を明記する必要があります。Key:NSFaceIDUsageDescriptionValue:アプリのログイン機能に認証機能を利用するため生体認証管理クラスを作成アプリ内で利用しやすいように生体認証管理クラスを作成していきます。生体認証を利用するために重要になるのがLAContextクラスです。詳細は後述しますがこのクラスから生体認証に関する処理を呼び出していきます。完成したコードは以下の通りです。"生体認証を利用してアプリにログインできます。}}UI部分は以下のように実装できます。}}シミュレーターでも動作確認自体は可能ですが指紋や顔認証はできないので以下のようなパスワードを求められるだけになります。Enclaveへのインターフェイスとして機能するクラスで、アプリから指定した認証ポリシーを評価(アクセスや認証の可否)しています。BoolcanEvaluatePolicyは指定した認証ポリシーが利用可能かどうかを識別するためのメソッドです。引数にはLAPolicy型で認証ポリシーの種類を指定します。IDが無効になっている場合、生体認証を必要とするポリシーは認証できません。BoolevaluatePolicyは指定されたポリシーを非同期的に評価するためのメソッドです。2つ目の引数localizedReasonには認証ダイアログに表示するメッセージを渡します。引数違いでcompletionHandlerから結果を取得できるメソッドも用意されています。"生体認証を利用してアプリにログインできます。result}サポートしている生体認証を識別するデバイスがサポートしている生体認証を識別するためにはLAContextのbiometryTypeプロパティから参照することができます。取得するためにはcanEvaluatePolicyを実行した後のLAContextでないとサポートしている生体認証を識別できていないので注意してください。Proのロックを解除するための虹彩認証まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。ご覧いただきありがとうございました。友達や家族の誕生日を登録しておくと当日に通知が届きお知らせしてくれるiOSアプリです。貸し借り管理アプリお金の貸し借りを管理するためのアプリです。貸借の色が分かれているので識別しやすく、使いやすさを求めてできるだけシンプルなUIにしています。カシホン人に貸すことが多く、誰に貸したか忘れがちな本の貸し借りを記録できるアプリです。