I'm working with Apple's SimpleURLFilter sample project and consistently encountering an error when trying to implement the URL filter.
Here are the details: Setup:
- Downloaded the official SimpleURLFilter sample project from Apple
- Set the developer team for both targets (main app and extension)
- Built and ran the PIR server on my laptop using Docker as per the sample instructions
- Built the iOS project on my iPhone running iOS 26.0.1
- Server is accessible at my Mac's IP address on port 8080
Configuration:
- PIR Server URL: http://[my-mac-ip]:8080
- Authentication Token: AAAA (as specified in service-config.json)
- Privacy Pass Issuer URL: (left empty)
- Fail Closed: enabled
Code Changes: The only modifications I made were:
- Updated bundle identifiers to include my team identifier
- Updated PIR server's service-config.json to match: com.example.apple-samplecode.SimpleURLFilter[TEAM_ID].url.filtering
- Modified URLFilterControlProvider.swift:
- Added existingPrefilterTag: String? parameter to fetchPrefilter() method
- Added tag: "bloom_filter" parameter to NEURLFilterPrefilter initializer
Issue: After configuring the filter and entering my passcode in Settings, I consistently see: Received filter status change: <FilterStatus: 'starting'> Received filter status change: <FilterStatus: 'stopped' errorMessage: 'The operation couldn't be completed. (NetworkExtension.NEURLFilterManager.Error error 9.)'> Questions:
- What does NEURLFilterManager.Error error 9 specifically indicate?
- Could the URLFilterControlProvider modifications be causing this issue?
- Are there debugging steps to get more detailed error information?
Any guidance would be appreciated!