In another question on this forum (https://developer.apple.com/forums/thread/124775) eskimo stated that launching a system extension from an daemon is not the right approach and that the OSSystemExtensionRequest.activationRequest API should be called from an App.
My question is, does this same restriction apply to a LaunchAgent started App?
If so, to ensure activation as soon as possible is the only option to use a SMLoginItemSetEnabled helper to start the App on login?
My question is, does this same restriction apply to a LaunchAgent started App?
Yes, do not activate a System Extension from a daemon, launch agent, command line tool, helper app, or any other mechanism other than the Container App for the extension. Doing so may cause issues and inconsistencies when deactivating and uninstalling.
Also, a Network System Extension on macOS is started when the system starts so you should not need to worry about starting the extension as soon as possible. Last I knew, networking on the system was not allowed until the Network System Extension was started.
Matt Eaton
DTS Engineering, CoreOS
meaton3@apple.com