I am trying to read and understand following paragraph from Apple docs.
Packet tunnel providers can run in destination IP mode or source-application mode. The latter is one form of per-app VPN (the other form is an App Proxy Provider).
https://developer.apple.com/documentation/networkextension/packet_tunnel_provider
class NETunnelProvider
An abstract base class shared by NEPacketTunnelProvider and NEAppProxyProvider.
So NEAppProxyProvider is not Packet Tunnel Provider. It is just Tunnel Provider.
Is there some mode (source mode) in NEPacketTunnelProvider that make it work like NEAppProxyProvider? How do I activate it?
Or ... Is it just a mess of words in official Apple docs and they wished to say Tunnel Provider (not Packet Tunnel Provider) has two super-classes (modes): PacketTunnerProvider
and AppProxyProvider
Why it is so important? Because NEAppProxyProvider works on managed devices only and PacketTunnerProvider works on all iOS9+ devices.