Hello.
It seems that NetworkExtensions (NEFilterDataProvider/NEFilterControlProvider) are completely broken on iOS 16.1 and iOS 16.2 for Screen Time API authorized apps.
We have an active FB11748633 (iOS 16.1 System doesn't forward network flow to NEFilterDataProvider/NEFilterControlProvider of ScreenTime API authorized app)
Everything worked perfectly on versions of iOS prior to 16.1 for an app publicly available on the App Store, but stopped working after updating to iOS 16.1.
Steps to reproduce:
- Install parental control app with embedded Network Extensions of types:
- com.apple.networkextension.filter-data
- com.apple.networkextension.filter-control
- Authorize the app for ScreenTime API with FamilyControlsMember.child mode.
- Register Network Extensions in system by the NEFilterManager.shared instance, with filterBrowsers=true configuration.
- Start web browsing in Safari
- No one call of "handleNewFlow(_ flow: NEFilterFlow) -> NEFilterNewFlowVerdict" is triggered by the system
And under debug we see:
- correctly initiated Network Extensions with our identifiers
- two corresponding processes registered in the OS
- correct calls of startFilter methods of both extensions
Does anyone have any ideas or workarounds?