Biometrics 生物辨識 ( Swift )

Molder
Aug 6, 2021

--

說到生物辨識在iPhone上目前就只有兩種可能 Touch ID 與 Face ID

iPhoneOS 的限制:

TouchID iOS 8 以上

FaceID iOS 11 以上 (需使用者同意開啟 FaceID 權限)

驗證結果: 只能得到 Bool (True or False) 成功或是失敗,

驗證成功 : 沒有任何 Identification Code

驗證失敗 : 有Error code

Error事件

kLAErrorAuthenticationFailed = 驗證資訊出錯

kLAErrorUserCancel = 使用者取消驗證

kLAErrorUserFallback = 使用者選擇其他驗證方式

kLAErrorSystemCancel = 被系統取消

kLAErrorPasscodeNotSet = iPhone沒設定密碼

kLAErrorTouchIDNotAvailable = 使用者裝置不支援Touch ID

kLAErrorTouchIDNotEnrolled = 使用者裝置沒有設定Touch ID

kLAErrorTouchIDLockout = 功能被鎖定(五次),下一次需要輸入手機密碼

kLAErrorAppCancel = 在驗證中被其他app終止

Code 實作

  1. 在 Info.plist 裡加入 Privacy — Face ID Usage Description

2. 在class裡 import LocalAuthentication

3. 在需要使用到的地方呼叫 biometricsLogin()

畫面

Touch ID 登入
掃臉失敗,會要求再試一次
失敗多次,會要求使用其他方式驗證(使用者裝置密碼)或取消驗證
使用者裝置密碼
成功驗證

--

--