I\'m trying to implement a packet sniffer similar to Charles for iOS using iOS\'s NetworkExtension framework.
So, that\'s a big goal and I\'m bre
There are a good number of reasons why your network extension process may not be starting:
os_log("STARTING TUNNEL!!!!") and attach to your network extension process in Xcode via Debug -> Attach to Process by PID or Name... before you attempt to start the VPNcom.example.vpn then the network extension might be com.example.vpn.tunnel.Info.plist contains the NSExtension dictionary with NSExtensionPointIdentifier and NSExtensionPrincipalClass containing com.apple.networkextension.packet-tunnel and your NEPacketTunnelProvider class (e.g. $(PRODUCT_MODULE_NAME).PacketTunnelProvider) respectively.Personal VPN entitlement.in startVPNTunnel func ,you should call setTunnelNetworkSettings,then the tunnel will started, after that ,you can read/write packet.
setTunnelNetworkSettings(nil) { error in
pendingStartCompletion(error)
}