2015-04-19 16 views
1

我在我的應用程序中使用Touch ID。如果使用密碼獲取Touch ID通知

  • 如果Touch ID指紋掃描連續失敗三次,則會出現Application retry limit exceeded.錯誤。
  • 如果Touch ID指紋掃描再次失敗兩次,則會出現Biometry is locked out.錯誤。

在被鎖定生物統計之後,您需要輸入密碼。奇怪的是,如果您的密碼輸入正確,那麼而不是會導致evaluatePolicy回調中的success。相反,系統會提示您重試生物測定。

如何獲取密碼被鎖定在生物統計之外後正確輸入密碼的通知?

+1

您是否能夠從代碼中檢測到「應用程序重試限制超出」或「生物特徵被鎖定」會發生?我很想看到你的代碼... –

+1

我明白了!你必須看看本地化的描述。哇,這是毛... –

回答

2

一個非常好的方式來適應什麼,我提的是,使用這個項目蘋果提供:Using Touch ID with Keychain and LocalAuthentication

有兩種方式來提示您的觸摸身份認證的用戶;每個人都有自己的優點和缺點。

  1. -[LAContext evaluatePolicy:localizedReason:reply:]

這使您可以提示系統僅向用戶詢問他們的Touch ID身份驗證(如果設置正確)。如果用戶由於在這裏或其他地方的重複失敗而被鎖定,他們會被要求輸入密碼作爲解鎖Touch ID再次使用的方式(據我所知)。由於調用evaluatePolicy:localizedReason:reply:的初始目標是讓用戶使用Touch ID進行身份驗證,因此它仍會要求他們這樣做。

這種方法的好處是您從通話中獲得的錯誤更能描述發生了什麼(用戶取消vs失敗)。

  • 商店的東西在鑰匙串由kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly
  • 確保此選項可能給你感興趣的經驗。使用此屬性存儲在鑰匙串的東西后,試圖從鑰匙鏈中複製它會提供更熟悉的Touch ID提示,允許用戶在需要時輸入他們的密碼(儘管我已經注意到在iOS 8.3 Beta中,提示符不會顯示「輸入密碼」選項第一次嘗試

    這種方法的不足之處在於,您總會遇到失敗的錯誤,用戶如何結束這個過程(以某種方式失敗或者只是取消)。

    相關問題