2017-02-12 3 views
0

Ich habe einen SFSafariViewController, der geöffnet wird, wenn ein Benutzer auf einen Link in meiner App klickt. Ich muss erkennen, wenn die URL geändert wird, so dass die App eine Warnung anzeigt, wenn sie sich ändert. Wie erkennen wir URL-Änderungen in SFSafariViewController?Erkennen der URL-Änderung in SFSafariViewController

Antwort

4

Sie können dies nicht tun.

SFSafariViewController soll Benutzer an einen Browser senden, ohne sich zu sehr darum zu kümmern, wohin sie geht, aber wenn sie fertig ist, ist sie sofort wieder in der App, ohne den Kontext zu verlieren. Es gibt nur sehr wenige Dinge, die Sie anpassen können.

Die official docs Erwähnung (Hervorhebung von mir):

Wenn Ihre App-Nutzer Websites von überall über das Internet sehen kann, die SFSafariViewController Klasse. Wenn Ihre App die Adresse mit interagiert oder die Anzeige von Webinhalten steuert, verwenden Sie die Klasse WKWebView.

Es wird mehr Arbeit erfordern (vor allem einiger UI) Erfahrung einer schönen Browsing WKWebView mit bieten, aber Sie haben alles unter Kontrolle. Das gleiche gilt für das ältere Geschwister, UIWebView. Wenn Sie nicht wissen, was zu verwenden ist, könnte this comparison helfen, obwohl einige Dinge auf der Seite von WKWebView seit dem Artikel verbessert worden sein können.

+0

Beachten Sie einen großen Unterschied zwischen 'SFSafariViewController' und den anderen:' SFSafariViewController' teilt Daten mit dem normalen Webbrowser auf dem Gerät (und anderen 'SFSafariViewController's, einschließlich Cookies und Passwörter. Der einzige Grund, es zu verwenden und die (Grund ist, dass es in erster Linie erstellt wurde) ist für Login/SSO und dergleichen. Wenn Sie das nicht benötigen, verwenden Sie ein 'UIWebView' oder' WKWebView'. Wenn Sie diese benötigen, ist der Standard Weg aus dem ' SFSafariViewController (automatisch nach erfolgreicher Anmeldung für die Instanz) verwendet ein benutzerdefiniertes URL-Schema. – jcaron

Verwandte Themen