Network Extension ->Packet Tunnel

It possible the host app to provide the connectivity to the vpn server?

This is due to limitation of protocols in the packet tunnel provider extension.

Yes. Or a daemon (which is what we're using). I have the daemon send an anonymous listener to the extension's NEMachService port.

It possible the host container app to provide the connectivity to the vpn server?

No [1].

Let’s start with terminology. When dealing with plug-ins, the host app is the one using the plug-in. The one in which the plug-in is embedded is the container app. Hence my correction above.

The container app is not able to provide connectivity because there’s no guarantee that the container app is running. That’s why your NE provider is packaged as an app extension [2]: So the system can load and run it when the container app isn’t running.

As to what you can do about that, it depends on your platform:

  • On iOS, you really have no options here.

  • On macOS, if your app ships on the Mac App Store, your options are similarly limited.

  • On macOS, if you distribute your app independently, and hence your NE provider is packaged as a system extension, you have more options [3]. I’m happy to discuss those if you’re in this situation.

Share and Enjoy

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

[1] Sorry kithrup.

[2] On the Mac it can be either an app extension on a system extension.

[3] And that’s what kithrup is targeting which explains their answer.

Network Extension ->Packet Tunnel
 
 
Q