我正在將iOS中的fitbit login-api與Objective C集成在一起,我需要獲取回調URL。如何從SFSafariViewController獲取URL?
我目前使用的是SFSafariViewController
,但登錄後無法閱讀URL。是否有可能從SFSafariViewController
獲取網址?
我正在將iOS中的fitbit login-api與Objective C集成在一起,我需要獲取回調URL。如何從SFSafariViewController獲取URL?
我目前使用的是SFSafariViewController
,但登錄後無法閱讀URL。是否有可能從SFSafariViewController
獲取網址?
在SFSafariViewControllerDelegate
你只有一個方法,可以幫助:
optional public func safariViewController(controller: SFSafariViewController, didCompleteInitialLoad didLoadSuccessfully: Bool)
但是,這隻能在初始(第一)網址加載調用。如果你有重定向,並在auth過程中等待一些URL - 這將無濟於事。 那麼你應該使用UIWebView
和實施UIWebViewDelegate
委託方法:
optional public func webView(webView: UIWebView, shouldStartLoadWithRequest request: NSURLRequest, navigationType: UIWebViewNavigationType) -> Bool
但不記得是爲了可讀性ATS
除了Fitbit明確禁止使用UIWebView for oauth2 https://dev.fitbit.com/docs/oauth2/ - 所以你必須使用SFSafariViewController,並且在它完成之後,你必須ping你的服務器/ web服務以查看它是否是成功與否 –
@DavidGlance,因爲他們可能想強迫你使用'WKWebView' – Nico
改進的文本,因爲它是相當混亂。還編輯標題以更好地反映問題。 – Marcelo
你有幫助嗎?當我查看fitbit API時,它清楚地提到我們不能使用UIWebView或WKWebKit進行登錄。我被困在同一頁面上。 – MouseCrasher