Ich spiele mit XCode7 Beta und versuche, das glänzende neue "Content Blocker Extension" zu testen. Die Beispielklasse übernimmt dasselbe Protokoll NSExtensionRequestHandling
wie die (bereits bekannte) Sharing-Erweiterung. Der wesentliche Unterschied zur Freigabeerweiterung besteht darin, dass es sich bei der Klasse um eine einfache Unterklasse NSObject
und nicht um eine *ViewController
Unterklasse handelt, da eine Blocker-Erweiterung kein UI-Feedback anzeigen soll. Das ist zumindest mein Verständnis. Jedenfalls wird die entscheidende Methode beginRequestWithExtensionContext
, die die Blockerdeklaration JSON dem Erweiterungspunkt zuführen soll, nicht aufgerufen. Die Erweiterung hat TRUEPREDICATE
als NSExtensionActivationRule
und Safari erkennt das Vorhandensein meiner Host-App in der neuen Safari-Konfiguration "Content Blockers". Aber immer noch keine Zigarre.iOS9 Safari Inhalt Blocker Erweiterung nicht aufgerufen
Weiß jemand, ob es schon so früh in der Beta funktionieren soll oder war es nur eine Pressemitteilung?
Und, oh, während wir dabei sind, gibt es irgendwelche Dokumentation dieses deklarativen JSON-Format oder es ist nur mein Google-Fu versagt mich? :)
Bekam das gleiche Problem. 'beginRequestWithExtensionContext' wurde nicht aufgerufen. BTW, 'blockerList.json' scheint, dass JSON-Datei nicht von der Erweiterung im laufenden Betrieb geändert werden kann. Also, gibt es keine Möglichkeit, Einstellungen Benutzeroberfläche für Erweiterung/App zu machen? Um Filter zu modifizieren, müssen Sie die Erweiterung erneut veröffentlichen. – Wayne
Es gibt das ['reloadContentBlocker ...'] (https://developer.apple.com/library/prerelease/ios/releasenotes/General/iOS90APIDiffs/frameworks/SafariServices.html), auf das @ chris-jones hingewiesen hat soll das Nachladen von Ihrer Host-App erzwingen. –
Vielen Dank, ich werde es versuchen. – Wayne