Ist es möglich, mehrere JSON-Dateien von einer Content-Blocker-Erweiterung zurückzugeben? In meiner Benutzerschnittstelle aktivieren / deaktivieren Sie verschiedene Filter und jeder Filter wird durch eine separate Datei dargestellt. Ich habe zur Zeit (was nur lädt trotz mehrere Iterieren):
%Vor%Ich habe versucht, mehrere Objekte und ein einzelnes Objekt mit mehreren Anhängen zu bearbeiten. Wenn es nicht möglich ist, separate Dateien zu erstellen, können Sie mehrere kombinieren (oder programmgesteuert generieren)?
Für die Neugierigen habe ich am Ende Code hinzugefügt, um dynamisch eine JSON-Datei zu generieren (auf Festplatte gespeichert). Von anderen Antworten scheint es, als könnte der Schritt des Speicherns vermieden werden, indem stattdessen eine NSData
-Darstellung der Datei zurückgegeben wird - obwohl dieser Versuch für mich fehlgeschlagen ist. Hier ist mein Ausschnitt:
Es ist möglich, mehrere JSON-Dateien zu verwenden und sie für die Content-Blocker-Erweiterung zu verwenden.
1) SFContentBlockerErrorDomain wird ausgelöst, wenn Sie mehrere Erweiterungselemente an die completeRequestReturningItems-Methode
übergeben2) Kann nicht mehrere Anhänge an NSExtension anhängen. Der Kommentar zum Quellcode besagt, dass die Anhänge kein Array alternativer Datenformate / -typen sein sollen, sondern eine Sammlung, die beispielsweise in einen Social Media-Beitrag aufgenommen werden soll. Diese Elemente werden immer als NSItemProvider eingegeben. Ich denke, dass Sie nicht in der Lage sein würden, mehrere Json-Daten als Anhänge hinzuzufügen, da sie keine Reihe von Anhängen sind, um eine Nachricht zu erstellen.
Meine Lösung (Überprüft, es funktioniert):
NSItemProvider kann mit item (NSData) und typeIdentifier initialisiert werden.
%Vor%Jetzt können Sie die Erweiterung mit dem Anhang, combinedData nach Ihren Vorlieben erstellen.
Tags und Links ios swift safari-content-blocker