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
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.
- 1. Erkennen und Abhören der Videowiedergabe in SFSafariViewController
- 2. SFSafariViewController nicht in Fensterhierarchie
- 3. SFSafariViewController safariViewControllerDidFinish
- 4. SFSafariViewController Cookies
- 5. Crashlytics SFSafariViewController setIsInitLanguageConfigSet Absturz
- 6. Tintcolor von SFSafariViewController ändern?
- 7. SFSafariViewController Entfernen OAuth2 Cookie
- 8. Dokumente mit SFSafariViewController herunterladen
- 9. SFSafariViewController Statusleiste Stil
- 10. SFSafariViewController presentViewController Animation
- 11. ios9 - Swift 2.1 - SFSafariViewController
- 12. SFSafariViewController als Unteransicht
- 13. Transluzente Balken auf SFSafariViewController deaktivieren
- 14. Sie können SFSafariViewController in UI-Tests automatisieren?
- 15. Problem mit SFSafariViewController auf 3DTouch (Pop State)
- 16. SFSafariViewController Init-Methode gezwungen, iOS11 unterstützt Version
- 17. So ändern Sie SFSafariViewController ToolBar Farbe
- 18. Wie bekomme ich eine URL von SFSafariViewController?
- 19. SFSafariViewController nicht geöffnet url im Mobil-Modus
- 20. Kann SFSafariViewController eine POST-Anfrage laden?
- 21. Warum wird SFSafariViewController in iOS 9 statt modal präsentiert?
- 22. Ist es möglich, einen SFSafariViewController in einem UITabBarController anzuzeigen?
- 23. Position der Wörterbuchschlüssel erkennen
- 24. ASP.NET: Erkennen der Authentifizierungszeitüberschreitung
- 25. Erkennen der Benutzerpräsenz
- 26. Erkennen der Tastatur drückt
- 27. Maximalform der Formensprache erkennen
- 28. Quelle der Remotedesktopverbindung erkennen
- 29. Erkennen der Eingabetaste C#
- 30. Gibt es eine Möglichkeit, den Referer in der ersten Anfrage von SFSafariViewController zu setzen?
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