2015-10-05 24 views
0

我正在研究混合應用替代方案。我正在研究的其中一項內容是使用原生應用,其中顯示應用的內容爲UIWebView。當用戶按下一個登錄按鈕(這會觸發一個JS調用)時,應用程序將接管此調用並詢問用戶是否要使用Touch ID登錄。使用touchId的UIWebview原生應用

我已經在一些賭場應用程序(例如this one)中看到了這一點,我想知道這是如何工作的。

據我所知,與UIWebView截取JS行動和(如果Touch ID存儲)本機應用程序將接管。如果沒有存儲Touch ID,它將繼續進行JS調用。一旦成功,本地應用程序將接管並詢問用戶他/她是否想使用TouchID存儲憑證;之後它將繼續JS調用。網站沒有變化是必要的。

不幸的是,我找不到有關如何工作的任何信息以及關於如何攔截javascript調用和「操縱」操作的任何代碼示例。

更新 據我所知,我的問題可能有點太模糊,我已經更新了。

+1

我發現一個問題那樣回答我的,所以我投與問候,收於:http://stackoverflow.com/questions/13254751/ios-uiwebviewdelegate-intercept-javascript-calls –

+1

令人欽佩的行爲,投票結束自己的問題。我獎勵,並投票結束......: - ) –

回答

0

我沒有這個做自己,但我想解決這樣說:

  1. 提供/顯示您的登錄屏幕爲正常。
  2. 登錄後,確定Touch ID是否可用。
  3. 如果Touch ID可用,詢問用戶是否想使用Touch ID。
  4. 如果用戶回答「是」,則將憑證存儲在Keychain以及標記(可能位於NSUserDefaults)中,以指示觸摸ID已啓用。
  5. 在隨後的登錄中,檢查上面的Touch ID標誌,如果是YES,則使用Local Authentication顯示Touch ID提示。
  6. 如果本地認證成功,請使用先前存儲的憑證進行登錄。
+0

問題是,登錄不是本機。它在網站上。 –

+0

在這種情況下,您必須攔截登錄過程。根據實施方式的不同,這可能需要對網站進行更改。 –