在 SFSafariViewController 中检测 URL 变化

Detect URL change in SFSafariViewController

我有一个 SFSafariViewController,当用户点击我的应用程序中的 link 时,它会打开。我需要检测 URL 何时更改,以便在更改时应用程序显示警报。我们如何检测 SFSafariViewController 中的 URL 变化?

你不能这样做。

SFSafariViewController 旨在将用户发送到浏览器,而不必太在意她去哪里,但当她完成后,她会立即回到您的应用程序中,不会丢失任何上下文。您可以自定义的内容很少。

official docs 提及(强调我的):

If your app lets users view websites from anywhere on the Internet, use the SFSafariViewController class. If your app customizes, interacts with, or controls the display of web content, use the WKWebView class.

使用 WKWebView 提供良好的浏览体验需要更多工作(尤其是一些 UI),但一切尽在您的掌控之中。哥哥姐姐也是如此,UIWebView. If you don't know which to use, this comparison 可能会有所帮助,尽管自从撰写本文以来 WKWebView 方面的一些事情可能有所改善。