In an iOS network extension setup as a Packet Tunnel. I am accepting packets in using NEPacketTunnelFlow and open a NWConnection up to the destination like so
let parameters = .quic(alpn: [])
let connection = NWConnection(to: .hostPort(host: host, port: port!), using: parameters)
but my state handler is never receiving the .ready
state.
My NWConnection code works fine for TCP and DNS using
let parameters = .tcp // OR
let parameters = .udp
On my NWConnection state handler I am receiving .waiting
with an error of dns
. I am testing quic by navigating onto the Facebook app and with wireshark intercepting the traffic I can see the DNS queries resolving
I have NEDNSSettings
applied to my NEPacketTunnelNetworkSettings
Is my issue to do with not passing in the alpn value or is there an extra permission/setting I am missing? I have not found a value which changes the outcome at all.
I have tried following [https://developer.apple.com/videos/play/wwdc2021/10094/) but no success.