仅在满足特定条件时才调用Safari Content Blocker扩展程序?

时间:2015-09-16 23:53:19

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

是否有可能只在满足某些条件时调用iOS 9中的Safari Content Blocker扩展程序 - 例如如果它是在一定的时间段内(让我们说你想阻止跟踪器从9-5而不是在晚上),或者你是在蜂窝电话?我知道理论上这可以在“设置”应用中手动完成。但有没有办法让它自动化,所以你可以随时保留内容拦截器?

1 个答案:

答案 0 :(得分: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)重新加载内容拦截器。