从应用程序内停用 iOS 9 Safari 内容阻止?

Posted

技术标签:

【中文标题】从应用程序内停用 iOS 9 Safari 内容阻止?【英文标题】:Deactive iOS 9 Safari Content Blocking from within the app? 【发布时间】:2015-09-20 16:12:12 【问题描述】:

我正在寻找一种方法来轻松地从应用程序内停用 Safari 内容阻止。知道怎么做吗? SFContentBlockerManager.reloadContentBlockerWithIdentifier 可以对此有所帮助吗?

【问题讨论】:

嗨,兄弟,有什么解决办法吗? 【参考方案1】:

如果您在SFSafariViewController 中显示数据,这是不可能的,因为启用/禁用 ios9 内容阻止程序是一个用户设置。 据我了解,内容拦截器不会影响UIWebView

在测试期间reloadContentBlockerWithIdentifier 在模拟器中工作,但在真实设备上不工作。

【讨论】:

【参考方案2】:

您可以通过在 ContentBlockerRequestHandler 中提供不带任何规则的 NSItemProvider 来“有点”禁用 safari 内容阻止。

每当用户在主应用程序中启用/禁用内容阻止时,您都可以将此状态与扩展程序同步,例如在App Group 中使用共享容器UserDefaults(suiteName:) 并调用SFContentBlockerManager.reloadContentBlockerWithIdentifier

当然,扩展程序必须在设置中保持启用状态。

【讨论】:

以上是关于从应用程序内停用 iOS 9 Safari 内容阻止?的主要内容,如果未能解决你的问题,请参考以下文章

应用内购买“创建”按钮已停用 iOS 应用内购买创建

如何在 iOS 9.3+ 上从网页打开 Safari 的设置

iOS-Safari跳转到App和App应用内跳转到手机App

iOS 9.3 beta 版的Safari弹出框竟如此安卓?

从应用内链接打开 Safari - Cordova PhoneGap

仅在满足某些条件时才调用 Safari Content Blocker 扩展?