【问题标题】:Invoke Safari Content Blocker extension only when certain conditions are met?仅在满足某些条件时才调用 Safari Content Blocker 扩展?
【发布时间】:2015-09-16 23:53:19
【问题描述】:

是否有可能在 iOS 9 中获得一个 Safari 内容拦截器扩展,以便仅在满足某些条件时才被调用 - 例如如果它在某个时间段内(假设您想阻止跟踪器从 9 点到 5 点,但不是在晚上),或者如果您使用蜂窝网络?我知道理论上这可以在“设置”应用程序中手动完成。但是有没有办法让它自动化,这样你就可以一直打开内容拦截器?

【问题讨论】:

    标签: ios safari mobile-safari ios9 safari-content-blocker


    【解决方案1】:

    是的,我已经这样做了。在我的情况下,应用程序中有一个开关,因此用户可以禁用内容阻止程序,而无需转到设置应用程序。 每当用户禁用开关时,我只需更新 APP Group Container 路径中的 json 文件即可完成此操作。 在我的情况下,我正在从 APP Main Bundle 的 blockerJson 文件中读取所有阻止程序规则,并将这些规则放入一个数组中。然后将此规则数组写入 App 组标识符容器中的 BlockerJsonFile.json 文件。

    [[NSFileManager defaultManager] containerURLForSecurityApplicationGroupIdentifier:YOUR_APP_GROUP_IDENTIFIER] URLByAppendingPathComponent:@"BlockerJsonFile.json"]
    

    当用户禁用开关时,我会更新 BlockerJsonFile.json 文件并将其清空并使用 (SFContentBlockerManager.reloadContentBlockerWithIdentifier) 重新加载内容阻止程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多