天天看點

iOS8 Touch ID api接口調用 Touch ID接口

<a target="_blank" href="http://blog.csdn.net/johnson_puning/article/details/36188255">Touch ID簡介</a>

Touch ID是蘋果公司提供的一種将指紋用作密碼的簡便方式。隻需輕觸i主螢幕按鈕,就能激活Touch ID傳感器。主螢幕按鈕周圍的鋼圈檢測手指通知 Touch ID讀取指紋。Touch ID 不會儲存指紋的任何圖像。它隻存儲指紋的數學表達式。

Touch ID的指紋資料存儲在A7處理器的一個叫"secure enclave"協處理器上,唯一的Touch ID指紋識别器與唯一單獨的A7處理器比對。也就是說你将Touch ID拆開裝到别的iPhone 5s上,Touch ID是無法使用的,因為它無法讀取到A7處理器上的指紋資料。

iOS8 Touch ID api接口調用 Touch ID接口

使用Touch ID需要導入LocalAuthentication.framework,必須在裝有iOS8的真機裝置才能編譯通過。

#import &lt;LocalAuthentication/LAContext.h&gt;  

判斷[context canEvaluatePolicy:error:];判斷目前是否有可用Touch ID,裝置沒有裝置沒有TouchID或者TouchID未開啟傳回false,有TouchID并開啟傳回true.

調用[contextevaluatePolicy:localizedReason:reply]可以顯示驗證界面,驗證完畢後有一個回調。蘋果官方文檔規定第二個參數localizedReason一定要(shoudbe)使用使用者的目前語言呈現。

iOS8 Touch ID api接口調用 Touch ID接口

在真機測試中,指紋識别3次錯誤會退出驗證界面并輸出錯誤資訊;在驗證界面點選“輸入密碼”,也會退出,并輸出錯誤資訊。估計這是iOS8 Beta的bug,正常應該是指紋識别失敗或者點選“輸入密碼”要彈出數字鍵盤。正式釋出時,官方應該會處理好這個問題。

測試用的代碼片段

繼續閱讀