I have an app that uses a network extension. Since releasing the latest update, I've received occasional reports from users that the app doesn't function properly. After some investigation, it turns out that they all share a common symptom. Trying to run systemextensionsctl list fails like this:
1 extension(s)
--- com.apple.system_extension.network_extension
enabled active teamID bundleID (version) name [state]
2022-10-12 16:59:58.818 systemextensionsctl[4020:70714] Completely failed to resolve bundle info
zsh: abort systemextensionsctl list
I can't reproduce the issue myself, and I'm at a loss even where to start looking.
Any idea what could cause this kind of error? Is this a bug in my app or in macOS?
Post
Replies
Boosts
Views
Activity
Let's say we have a content filter app that lets the user block traffic to certain hosts.
When the app is running, it's simple to communicate the user's list of blocked hosts to the network extension through XPC.
But from the documentation, it's unclear to me how the extension should handle things after e.g. a reboot. If I understand correctly, the extension is loaded by macOS automatically, even with no user logged in yet. However, it's not clear what state is persisted. Probably none.
What would be the preferred method to reload the user's custom rules after a reboot, before the user logs in? Simply a file somewhere (where?) on disk that the extension opens and reads? Something more elegant? Or is XPC through the main app (and waiting for an user to log in) the preferred method?
The documents are simply not up to date, I hope.For example, the doc https://developer.apple.com/documentation/networkextension/nefiltermanager very loudly states:"In product builds for distribution, Network Content Filter configurations can be created only on supervised devices. During development and testing you can temporarily override this restriction by signing your build with the get-task-allow entitlement."That's not true for Macs, right?