iOS指紋解鎖這個(gè)需求在一些軟件上可能會(huì)有需要,比如支付寶的指紋解鎖之類(lèi)的泥张。前幾天有個(gè)??友問(wèn)這個(gè)详恼,正好看了一下他嚷。很簡(jiǎn)單的一個(gè)framework的應(yīng)用:LocalAuthentication.
判斷指紋解鎖各種狀態(tài)的一個(gè)枚舉:
失敗授權(quán)(3次機(jī)會(huì)失敗 --身份驗(yàn)證失敗)
LAErrorAuthenticationFailed = kLAErrorAuthenticationFailed,
用戶取消touchid授權(quán)(用戶點(diǎn)擊取消按鈕)
LAErrorUserCancel = kLAErrorUserCancel,
用戶選擇輸入密碼,用戶點(diǎn)擊回退按鈕(輸入密碼)
LAErrorUserFallback = kLAErrorUserFallback,
系統(tǒng)取消授權(quán)默刚,系統(tǒng)跳轉(zhuǎn)app之類(lèi)的(比如另一個(gè)應(yīng)用程序去前臺(tái),切換到其他 APP)
LAErrorSystemCancel = kLAErrorSystemCancel,
系統(tǒng)未設(shè)置密碼
LAErrorPasscodeNotSet = kLAErrorPasscodeNotSet,
設(shè)置touchid不可用甥郑,因?yàn)橛|摸ID在設(shè)備上不可用
LAErrorTouchIDNotAvailable = kLAErrorTouchIDNotAvailable,
身份驗(yàn)證無(wú)法啟動(dòng),因?yàn)闆](méi)有登記的手指觸摸ID。 沒(méi)有設(shè)置指紋密碼時(shí)荤西。
LAErrorTouchIDNotEnrolled = kLAErrorTouchIDNotEnrolled,
這個(gè)錯(cuò)誤出現(xiàn)澜搅,源自用戶多次連續(xù)使用Touch ID失敗,Touch ID被鎖邪锌,需要用戶輸入密碼解鎖勉躺,這個(gè)錯(cuò)誤的交互LocalAuthentication.framework已經(jīng)封裝好了,不需要開(kāi)發(fā)者關(guān)心
LAErrorTouchIDLockout NS_ENUM_AVAILABLE(10_11, 9_0) __WATCHOS_AVAILABLE(3.0) __TVOS_AVAILABLE(10.0) = kLAErrorTouchIDLockout,
LAErrorAppCancel和LAErrorSystemCancel相似秃流,都是當(dāng)前軟件被掛起取消了授權(quán)赂蕴,但是前者是用戶不能控制的掛起,例如突然來(lái)了電話舶胀,電話應(yīng)用進(jìn)入前臺(tái),APP被掛起碧注。后者是用戶自己切到了別的應(yīng)用嚣伐,例如按home鍵掛起
LAErrorAppCancel NS_ENUM_AVAILABLE(10_11, 9_0) = kLAErrorAppCancel,
就是授權(quán)過(guò)程中,LAContext對(duì)象被釋放掉了,造成的授權(quán)失敗
LAErrorInvalidContext NS_ENUM_AVAILABLE(10_11, 9_0) = kLAErrorInvalidContext
}
直接給出demo地址萍丐,里面的注釋我個(gè)人認(rèn)為注釋的比較清楚了轩端,所以就不再啰嗦了。有需要的可以看一下.
demo地址