2014-10-01 16 views
1

我正在將TouchID集成到我的應用中,但我沒有得到兩個按鈕enter passwordcancel之間的區別。他們導致錯誤LAErrorUserCancelLAErrorUserFallback,但我不能以不同的方式處理它們,所以我想避免兩個按鈕之一。有沒有辦法做到這一點?或者這裏的最佳做法是什麼?TouchID:回退(輸入密碼)和取消有什麼區別?

1Password是一個例子;用戶呈現的兩個按鈕都會導致相同的操作 - 您必須手動將密碼輸入到應用程序中。在我看來,這裏只有一個按鈕是有意義的。

回答

3

如果你的應用程序不需要它,那麼刪除「輸入密碼」按鈕非常容易。只需將localizedFallbackTitle屬性設置爲空字符串,而不是零,並且該按鈕將不會顯示。

LAContext *context = [[LAContext alloc] init]; 
context.localizedFallbackTitle = @""; 

(您也無法將其設置爲更適合您的應用程序,如果你需要,只是把字符串中有什麼。)

注:實際上回答的問題張貼,不回答OP在其他答案中留下的評論...當用戶決定不使用TouchID但寧願輸入密碼以訪問您的鎖定服務時,後備案例很有用。您將在評估策略消息中對此進行測試。

+0

正是我在找的,謝謝! – swalkner 2015-01-26 06:40:41

1

如果從包含密碼字段的相同VC顯示touchID警報視圖,則兩個選項都會完成相同的操作。但是,如果您有可以取消完整身份驗證操作(LAErrorUserCancel)或顯示登錄視圖控制器(LAErrorUserFallback)的工作流,請考慮。

+0

好的,非常感謝。是否可以隱藏兩個按鈕之一? – swalkner 2014-10-01 16:08:12

+0

是的,看到我的回答... – 2014-12-30 20:38:40

相關問題