Multiple Apps Content Filtering extension IOS 13

Hello,

Is there a way to allow multiple apps to register the usage of the Content Filtering Extension? Or is there a way for an app to just monitor and not block network traffic while another app is used for actual filtering?

Thank you

Leo

Replies

Is there a way to allow multiple apps to register the usage of the Content Filtering Extension?

I was under the impression that content filter extension stack, but I must admit to have not actually tested that. Did you try it? What did you see?

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"
Hello, i have the same question. Does this work? Can someone confirm if this is possible or not? Thanks

i have the same question. Does this work? Can someone confirm if this is possible or not?

I agree with what Quinn has mentioned, if you are developing or testing a Content Filter Provider on iOS then you most likely have an MDM solution that you could test installing multiple providers on to see what type of results this gives you.

Matt Eaton
DTS Engineering, CoreOS
meaton3@apple.com

On a brand new supervised device with default apps, I am seeing that creating two simple web-content filters (plugins) profiles using Apple Configurator 2 and trying to install both of them, only one can be installed successfully at a time.

If you try to install a second one via Apple Configurator, you get an error that the profile could not be installed.

You can install each one in any sequence you want successfully - but when you try to install a second one while first one is installed, it does not work. Note, I have not even installed any content filter apps yet- just trying to install 2 content-filter plugin profiles at same time.

Is this expected behavior?

Is this expected behavior?

I am not sure if that is expected behavior, an issue with your configuration, or a bug. Do you have any logs that show up in the console when this failure taks place?

Matt Eaton
DTS Engineering, CoreOS
meaton3@apple.com

Request:

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PayloadVersion</key>
<integer>1</integer>
<key>PayloadUUID</key>
<string>ca4fc908-8f2a-4dc9-94c4-3f2dd78964e5</string>
<key>PayloadType</key>
<string>Configuration</string>
<key>PayloadOrganization</key>
<string>MDM</string>
<key>PayloadIdentifier</key>
<string>com.mdm.20b7610d-0214-4ef1-b1a4-4d9b9b8335e4.iOSPlugin</string>
<key>PayloadDisplayName</key>
<string>iOS Plugin</string>
<key>PayloadRemovalDisallowed</key>
<true/>
<key>PayloadContent</key>
<array>
<dict>
<key>PayloadVersion</key>
<integer>1</integer>
<key>PayloadUUID</key>
<string>f94706af-ba40-4fe1-9f7f-d64b3a839645</string>
<key>PayloadType</key>
<string>com.apple.webcontent-filter</string>
<key>PayloadOrganization</key>
<string>MDM</string>
<key>PayloadIdentifier</key>
<string>f94706af-ba40-4fe1-9f7f-d64b3a839645</string>
<key>PayloadDisplayName</key>
<string>Web Content Filter Policy</string>
<key>FilterType</key>
<string>Plugin</string>
<key>Password</key>
<string></string>
<key>UserDefinedName</key>
<string>MEMDM Filter</string>
<key>ServerAddress</key>
<string></string>
<key>PluginBundleID</key>
<string>com.manageengine.mdm.ios</string>
<key>FilterSockets</key>
<true/>
<key>FilterBrowsers</key>
<true/>
</dict>
</array>
</dict>
</plist>

Response:

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>CommandUUID</key>
	<string>InstallProfile;Collection=78</string>
	<key>ErrorChain</key>
	<array>
		<dict>
			<key>ErrorCode</key>
			<integer>4001</integer>
			<key>ErrorDomain</key>
			<string>MCInstallationErrorDomain</string>
			<key>LocalizedDescription</key>
			<string>Profile Installation Failed</string>
			<key>USEnglishDescription</key>
			<string>Profile Installation Failed</string>
		</dict>
		<dict>
			<key>ErrorCode</key>
			<integer>4001</integer>
			<key>ErrorDomain</key>
			<string>MCInstallationErrorDomain</string>
			<key>LocalizedDescription</key>
			<string>Profile Failed to Install</string>
			<key>USEnglishDescription</key>
			<string>Profile Failed to Install</string>
		</dict>
		<dict>
			<key>ErrorCode</key>
			<integer>1009</integer>
			<key>ErrorDomain</key>
			<string>MCProfileErrorDomain</string>
			<key>LocalizedDescription</key>
			<string>The profile “iOS Plugin” could not be installed.</string>
			<key>USEnglishDescription</key>
			<string>The profile “iOS Plugin” could not be installed.</string>
		</dict>
		<dict>
			<key>ErrorCode</key>
			<integer>40000</integer>
			<key>ErrorDomain</key>
			<string>MCWebContentFilterErrorDomain</string>
			<key>LocalizedDescription</key>
			<string>The Content Filter service encountered an internal error.</string>
			<key>USEnglishDescription</key>
			<string>The Content Filter service encountered an internal error.</string>
		</dict>
		<dict>
			<key>ErrorCode</key>
			<integer>10</integer>
			<key>ErrorDomain</key>
			<string>NEConfigurationErrorDomain</string>
			<key>LocalizedDescription</key>
			<string>permission denied</string>
		</dict>
	</array>
	<key>Status</key>
	<string>Error</string>
	<key>UDID</key>
	<string>5d6e2789ce3bf01bbe83776b9735b7176ec550e3</string>
</dict>
</plist>

I have also got an issue regard this . I cant able to apply two plugin webcontent filters of different bundle identifiers to the same device. I have also tried with apple configurator steps too. I have attached the logs received from the device on the request of InstallProfile. Can you help on this?