Я играю с бета-тестированием XCode7, пытаясь проверить блестящий новый «Content Blocker Extension». Класс example принимает тот же протокол NSExtensionRequestHandling
как расширение (уже известное) расширения общего доступа. Существенное отличие от расширения общего доступа заключается в том, что класс является равным NSObject
, а не подклассом *ViewController
, потому что, как известно, расширение блокатора не должно показывать какую-либо обратную связь по интерфейсу. По крайней мере, это мое понимание. В любом случае решающий метод beginRequestWithExtensionContext
, который должен подавать декларацию блокатора JSON в точку расширения, не получает вызова. У расширения есть TRUEPREDICATE
как его NSExtensionActivationRule
, и Safari подтверждает существование моего хост-приложения в новой конфигурации Safari «Content Blockers». Но сигары все еще нет.Расширение блока расширения содержимого iOS9 не вызвано
Кто-нибудь знает, если он даже должен был работать в начале бета-тестирования или это был только пресс-релиз?
И, о, пока мы на нем, есть любая документация этого декларативного формата JSON, или это просто мой Google-Fu, который меня не сбивает? :)
Полученная же проблема. 'beginRequestWithExtensionContext' не вызывается. BTW, 'blockerList.json' кажется, что файл JSON не может быть изменен расширением на лету. Итак, нет способа сделать UI настроек для расширения/приложения? Чтобы изменить фильтры, вам нужно повторно опубликовать расширение? – Wayne
Существует этот ['reloadContentBlocker ...'] (https://developer.apple.com/library/prerelease/ios/releasenotes/General/iOS90APIDiffs/frameworks/SafariServices.html), который @ chris-jones отметил как предназначенный для принудительной перезагрузки из вашего хост-приложения. –
Спасибо, попробуй. – Wayne