I have the same issue. I want to connect vpn using IKEV2 protocol, but I only want some IP flows go through the VPN tunnel, the other go through the default network interface. To implement this , I know I should use NEPacketTunnelProvider and use setNetworkSettings & NEIpv4Route to make the route, but using built-in vpn type IKEV2 will not start the tunnel in NEPacketTunnelProvider . How should I do ? Implement the whole IKEV2 protocol in NEPacketTunnelProvider.m ? I think that is not a good idea. Please Help.
I have the same issue. I am trying to implement IPSec VPN using IKEV2 that is provided by the Personal VPN (NEVPNManager) on iOS. I am able to Connect and Disconnect, but I would like to implement split tunneling i.e., route certain traffic through the tunnel and other through the device default networking interface. Also would like to use certain DNS server settings for the tunnel. Is it possible to configure the Tunnel Settings while using the NEVPNManager? Or should I use the NEPacketTunnelProvider and implement the whole IKEV2 protocol from scratch? Please help and advise.
Is it possible to configure the Tunnel Settings while using the NEVPNManager?
Or should I use the NEPacketTunnelProvider and implement the whole IKEV2 protocol from scratch?
Well, you could, but it’s a horrendous amount of work.
The built-in IKEv2 transport supports both split and full tunnels , based on the configuration returned to it by the VPN server. I don’t have a lot of experience setting this this up myself, but perhaps someone else will chime it.
Share and Enjoy
Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware
let myEmail = "eskimo" + "1" + "@apple.com"
 This is different from the ‘split exclude’ mechanism that started this thread; I don’t know if the built-in IKEv2 transport supports that.