【问题标题】:What is the main advantage of using SFSafariViewController?使用 SFSafariViewController 的主要优势是什么?
【发布时间】:2017-01-09 05:19:13
【问题描述】:

如果我们使用[[UIApplication sharedApplication] openUrl: strUrl];,我没有正确理解使用 SFSafariViewController 的主要优势是什么

两者有什么区别?

【问题讨论】:

  • 您可以将委托添加到将处理操作的 SFSafariViewController。此外,我认为用户在查看 Internet 中的数据时留在应用程序中的主要优势。
  • 在 [UIApplication openURL:] 的情况下,Safari 会启动并且您的应用程序不再处于前台,并且通常不能保证正在运行。相比之下,SFSafariViewController 是您应用程序的一部分,您可以通过 UIViewController 或 SFSafariViewControllerDelegate 方法对其进行一些控制。使用哪一个取决于您想要实现的目标。还有 WKWebView 可以让您更好地控制内容和导航,但缺少 Safari 的一些功能,例如内容阻止。
  • 如果您使用SFSafariViewController,您的应用程序将在前台保持活动应用程序;如果您打开 Safari 应用程序,您的应用程序将变为非活动状态并进入后台。
  • 感谢分享信息... :)
  • @Baglan 这是很有价值的信息。我正在考虑将您的答案复制/粘贴到答案中,但如果您自己做会更好。你能回答这个问题吗?

标签: ios webview safari wkwebview sfsafariviewcontroller


【解决方案1】:

使用 SFSafariViewController,您可以使用在 Safari 中查看 Web 内容的几乎所有好处,而无需强制用户离开您的应用程序。

大多数应用只需要提供通用的网络浏览体验。这是 Safari 视图控制器的完美场景。

在使用SFSafariViewController 之前,不同应用程序的浏览体验不一致,这可能会使用户感到困惑。某些界面可能还缺少用户期望的东西,例如指示页面加载量的进度条。您无法访问 Safari 的所有功能。这包括阅读器视图、用于自动填充功能的 iCloud 钥匙串等。

如果您想在 iOS 9 之前拥有这些功能,您必须通过在 Safari 中打开内容来让用户完全离开您的应用程序。 SFSafariViewController 解决了所有这些问题。

更多信息请见here

【讨论】:

    【解决方案2】:

    在 [UIApplication openURL:] 的情况下,Safari 会启动并且您的应用程序不再处于前台,并且通常不能保证正在运行。相比之下,SFSafariViewController 是您应用程序的一部分,您可以通过 UIViewController 或 SFSafariViewControllerDelegate 方法对其进行一些控制。使用哪一个取决于您想要实现的目标。还有 WKWebView 可以让您更好地控制内容和导航,但缺少 Safari 的一些功能,例如内容阻止。

    【讨论】:

      猜你喜欢
      • 2019-11-24
      • 2011-01-07
      • 2023-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多