iOS9 未调用 Safari 内容拦截器扩展
iOS9 Safari content blocker extension not invoked
我正在玩 XCode7 beta,试图测试闪亮的新“Content Blocker Extension". The example class is adopting the same NSExtensionRequestHandling
协议作为(已知的)共享扩展。与共享扩展的本质区别在于 class 是一个普通的 NSObject
,而不是 *ViewController
subclass 因为,你知道,Blocker Extension 不应该显示任何 UI 反馈。那是我的至少理解。无论如何,应该将阻止程序声明 JSON 提供给扩展点的关键方法 beginRequestWithExtensionContext
不会被调用。扩展确实有 TRUEPREDICATE
作为其 NSExtensionActivationRule
并且 Safari 确实在新的 Safari 配置中承认我的主机应用程序的存在 "Content Blockers"。但仍然没有雪茄。
有谁知道它是否应该在测试版的早期就已经在运行,或者它只是一个新闻稿?
而且,哦,在我们讨论的时候,是否有 任何 声明性 JSON 格式的文档,或者它只是我的 Google-Fu辜负我? :)
还没有任何文档,但我发现 url 中的一些字符阻止了 JSON 的加载
它们是(我找到的那个,可能更多): +(as prefix) , $, |, ^
你怎么知道扩展没有被调用?
我构建了一个非常快速的测试应用程序,并从 beginRequestWithExtensionContext
方法中做了一个简单的 NSLog()
,当扩展打开时它被调用。
此外,顺便说一句,+[SFContentBlockerManager reloadContentBlockerWithIdentifier:completionHandler:]
可让您随意从主应用程序触发更新。
Is there any documentation of that declarative JSON format
下面的 webkit.org 博客 post 似乎是内容拦截器 JSON 格式的当前最佳 "official" 文档。
https://www.webkit.org/blog/3476/content-blockers-first-look/
使用设备控制台查看设备的实时日志。在那里你会看到你的 NSLog() 调用。
- 从 Xcode 菜单中选择 Window -> 设备。
- 在左栏中选择设备。
- 单击右侧面板左下方的向上三角形以显示设备控制台。
我正在玩 XCode7 beta,试图测试闪亮的新“Content Blocker Extension". The example class is adopting the same NSExtensionRequestHandling
协议作为(已知的)共享扩展。与共享扩展的本质区别在于 class 是一个普通的 NSObject
,而不是 *ViewController
subclass 因为,你知道,Blocker Extension 不应该显示任何 UI 反馈。那是我的至少理解。无论如何,应该将阻止程序声明 JSON 提供给扩展点的关键方法 beginRequestWithExtensionContext
不会被调用。扩展确实有 TRUEPREDICATE
作为其 NSExtensionActivationRule
并且 Safari 确实在新的 Safari 配置中承认我的主机应用程序的存在 "Content Blockers"。但仍然没有雪茄。
有谁知道它是否应该在测试版的早期就已经在运行,或者它只是一个新闻稿?
而且,哦,在我们讨论的时候,是否有 任何 声明性 JSON 格式的文档,或者它只是我的 Google-Fu辜负我? :)
还没有任何文档,但我发现 url 中的一些字符阻止了 JSON 的加载 它们是(我找到的那个,可能更多): +(as prefix) , $, |, ^
你怎么知道扩展没有被调用?
我构建了一个非常快速的测试应用程序,并从 beginRequestWithExtensionContext
方法中做了一个简单的 NSLog()
,当扩展打开时它被调用。
此外,顺便说一句,+[SFContentBlockerManager reloadContentBlockerWithIdentifier:completionHandler:]
可让您随意从主应用程序触发更新。
Is there any documentation of that declarative JSON format
下面的 webkit.org 博客 post 似乎是内容拦截器 JSON 格式的当前最佳 "official" 文档。
https://www.webkit.org/blog/3476/content-blockers-first-look/
使用设备控制台查看设备的实时日志。在那里你会看到你的 NSLog() 调用。
- 从 Xcode 菜单中选择 Window -> 设备。
- 在左栏中选择设备。
- 单击右侧面板左下方的向上三角形以显示设备控制台。