Sorry if this is not in the correct place, I wasn't sure.
I am working on a web content filtering plugin. Using the guidelines here, I have crafted a Web Content profile payload which I can use to upload to my device and successfully filter web content. However, I have run into the issue during development that if I add a "VendorConfig" to my payload (marked as "optional" in the spec), then the extension completely fails to launch, and in fact my NEFilterProvider extension class is never initialized (via startFilter(completionHandler: @escaping (Error?) -> Void) is never called).
Upon inspecting the console output of the device I see, among other messages, the following:
Dec 21 16:35:35 Kurts-iPad ((EXTENSION NAME))[2085] <Warning>: <NSXPCConnection: 0x124e37070> connection from pid 1734: Warning: Exception caught during decoding of received message, dropping incoming message.
Exception: Exception while decoding argument 0 (#2 of invocation):
<NSInvocation: 0x124d40b80>
return value: {v} void
target: {@} 0x0
selector: {:} startFilterWithOptions:completionHandler:
argument 2: {@} 0x0
argument 3: {@?} 0x0 (block)
Exception: value for key 'NS.objects' was of unexpected class 'NSString'. Allowed classes are 'NSDictionary'.
Now, it's worth noting that the NEFilterDataProvider provides a startFilter() method that I override, but there is no startFilterWithOptions method to override, so I'm not sure why it is looking for this.
Can anyone explain what this error message means? What is the relation between this exception and the existance of a <VendorConfig> in my Web Content Payload?
(Just to clarify: I craft my own web content profile XML, but I have also tried creating them with apple configurator. I run into this issue with the configurator-created XML unless I manually remove the <VendorConfig> section, in which case the configurator-created payload works perfectly fine)