2015-10-27 15 views
5

Ich integriere Fitbit Login-API in iOS mit Objective C und ich brauche die Callback-URL.Wie bekomme ich eine URL von SFSafariViewController?

Ich verwende derzeit SFSafariViewController, aber ich kann die URL nach dem Login nicht lesen. Ist es möglich, die URL von SFSafariViewController zu bekommen?

+0

Verbesserte Text für die Lesbarkeit sein, da es ziemlich verwirrend war. Bearbeiten Sie auch den Titel, um die Frage besser zu reflektieren. – Marcelo

+0

Hast du etwas hilfreiches bekommen? Als ich in die Fitbit-API schaute, wird deutlich, dass wir UIWebView oder WKWebKit nicht für die Anmeldung verwenden können. Ich stecke auf derselben Seite fest. – MouseCrasher

Antwort

2

In SFSafariViewControllerDelegate Sie nur eine Methode haben, kann das helfen:

optional public func safariViewController(controller: SFSafariViewController, didCompleteInitialLoad didLoadSuccessfully: Bool) 

Aber es wird nur bei der ersten (erste) url geladen aufgerufen werden. Wenn Sie Weiterleitungen haben und auf eine URL im Auth-Prozess warten, wird das nicht helfen. Dann sollten Sie UIWebView verwenden und implementieren UIWebViewDelegate Delegatmethode:

optional public func webView(webView: UIWebView, shouldStartLoadWithRequest request: NSURLRequest, navigationType: UIWebViewNavigationType) -> Bool 

aber kann mich nicht erinnern ATS

+0

Mit Ausnahme von Fitbit verbietet explizit die Verwendung von UIWebView für oauth2 https://dev.fitbit.com/docs/oauth2/ - Also müssen Sie SFSafariViewController verwenden und nachdem es abgeschlossen ist, müssen Sie Ihren Server/Web-Service anpingen, um zu sehen, ob es war erfolgreich oder nicht –

+0

@DavidGlance, weil sie wahrscheinlich wollen, dass Sie 'WKWebView' erzwingen – Nico

Verwandte Themen