我正在将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