Create and manage network content filter configurations and to control network content filters.
- iOS 8.0+
- macOS 10.11+
Each app is allowed to create a single filter configuration. The
NEFilter class has a class method (
shared()) that provides access to a single
NEFilter instance. This single instance corresponds to a single filter configuration.
The filter configuration is stored in the Network Extension preferences which are managed by the Network Extension framework. The filter configuration must be explicitly loaded into memory from the Network Extension preferences before it can be used, and any changes must be explicitly saved to the Network Extension preferences before taking effect on the system.
Filter configurations are created using configuration profiles. See the
com payload type in Configuration Profile Reference. To specify that a filter configuration created via a profile payload is associated with a particular app (and therefore allow the app to use
NEFilter to manage the configuration), the app’s bundle identifier must be set as the value of the
Plugin field in the profile payload.