This is something you should escalate via the support channel for the third-party library you’re using.
For context, my experience is that some third-party VPN libraries assume that the NEPacketTunnelFlow contains a UTUN file descriptor. This is not a valid assumption. The correct way to use NEPacketTunnelFlow is to read and write packets using its API, and specifically the -readPacketObjectsWithCompletionHandler: and -writePacketObjects: methods.
There’s no supported way to get a UTUN file descriptor from a NEPacketTunnelFlow because there’s no guarantee that there even is a UTUN file descriptor unpinning that flow.
Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"