0

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

4

1 回答 1

1

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

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

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

于 2015-10-27T12:38:38.873 回答