【问题标题】:Hide controls in sfsafariviewcontroller在 sfsafariviewcontroller 中隐藏控件
【发布时间】:2019-07-17 11:09:05
【问题描述】:
let sfViewController  = SFSafariViewController(url: url)
sfViewController.delegate = self

self.ViewC!.present(sfViewController, animated: false, completion: nil)

我正在我的应用程序中打开一个 SFSafariViewController。但是对于安全问题,我不想要这个视图给出的控制。此视图提供的操作包括:完成、刷新、共享、在 Safari 中打开。

出于我的目的,我只想要 Action-Done。其他操作不应该对用户可见。我支持 ios 10.0 + 。 至少那个工具栏不应该在那里。 可以这样做吗?

【问题讨论】:

  • 你应该使用 WKwebview 来代替你的自定义按钮
  • 那是我们拒绝了,因为 js 注入的可能性
  • 我想要的是用户不应该在他们的 safari 浏览器中打开 url
  • wkwebview 适合您的目的

标签: ios swift sfsafariviewcontroller


【解决方案1】:

不,您不能自定义 SFSafariViewController 。

苹果说:

重要

根据 App Store Review Guidelines,此视图控制器 必须用于向用户展示信息;控制器 可能不会被其他视图或图层隐藏或遮挡。此外, 一个应用程序可能不会使用 SFSafariViewController 来跟踪没有他们的用户 知情和同意。

最后,您确实可以使用WKWebView 来进一步自定义您的屏幕。

如果您的应用允许用户从 Internet 上的任何位置查看网站, 使用 SFSafariViewController 类。如果您的应用可以自定义, 与 Web 内容交互或控制 Web 内容的显示,使用 WKWebView 类。

阅读文档:https://developer.apple.com/documentation/safariservices/sfsafariviewcontroller

【讨论】:

  • 你能检查一下这个问题的解决方案吗?我能按那个人说的做吗? stackoverflow.com/questions/34146531/…
  • 这只是一种解决方法,仍然无法正常工作,如果您可以冒险拒绝您的应用,您可以尝试
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-09-10
  • 1970-01-01
  • 1970-01-01
  • 2011-07-01
  • 1970-01-01
  • 2023-03-02
  • 1970-01-01
相关资源
最近更新 更多