Network Extension/Packet Tunnel Provider life cycle

I have been told that the life cycle of a NetExt is short/transient, that it is loaded into memory with 'startTunnel' and unloaded, i.e. exited, on 'stopTunnel'.

So my question is whether or not this is true. Is this an actual requirement or can the NetExt, once loaded, stay in memory, running even when the Tunnel is disconnected?

TIA

That depends on how you’ve packaged your packet tunnel provider. If you package it as an app extension, your understanding is correct. If you package it as a system extension, the sysex runs much like a launchd daemon, that is, it starts when the system boots and runs until the system shuts down (or the user removes your sysex).

See TN3134 Network Extension provider deployment for more about the various ways to deploy NE providers.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Network Extension/Packet Tunnel Provider life cycle
 
 
Q