Wi-Fi Aware using QUIC

Hi

We are modifying the official Wi‑Fi Aware sample app to integrate QUIC for transmission speed testing. Unfortunately, we have been unable to establish a successful QUIC connection between two iOS devices.

Could you provide a correct implementation example of using QUIC over Wi‑Fi Aware?

I have attached the iOS system logs and our modified app project for your reference in case FB22499984 .

Thanks

Answered by DTS Engineer in 886565022

Since posting the above, I’ve learnt of a new issue, one that is, alas, a showstopper.

There are two ways you might use Network framework for this:

  • NetworkConnection — As I mentioned above, there’s a bug that prevents this from working (r. 175046087).
  • NWConnection — I just learn about another bug that prevents this from working (r. 175046087).

So, you can’t use QUIC with Wi-Fi Aware through either Network framework API, which means you can’t use it )-:

Needless to say, this is disappointing, and we hope to fix these bugs sooner rather later. But, for the moment, there’s no way to make this work.

Share and Enjoy

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

Thanks for starting a new thread for this.

I’ve seen reports of problems like this from others, so I’m currently researching how that panned out and I’ll reply with an update when I know more.

Share and Enjoy

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

OK, I have some results.

First up, TLS. Apple’s QUIC implementation requires TLS and there’s no special affordance for this within Wi-Fi Aware [1]. Given that, you’ll need to come up with your own TLS strategy. For a quick test you can just:

  1. Hard code the TLS digital identity on the server side.
  2. Disable TLS server trust evaluation on the client side.

In a real product you’d need to do something better than that. I have a bunch of suggestions in TLS For Accessory Developers. If you want to dig into the details, I recommend that you start a new thread with your questions, because I’d prefer to keep this thread focused on the relationship between Wi-Fi Aware and QUIC.

[1] It’s a much-requested feature though (r. 158253982).


Apropos that, there are a couple of bugs you have to work around:

  • Set includePeerToPeer on the parameters you use to create your Network framework objects (r. 175045182).
  • Use the original Network framework API, rather than the one we introduced in macOS 26, meaning NWConnection rather than NetworkConnection (r. 175046087).

With those two workarounds in place, I think this will work. However, I haven’t had time to test this myself, so I’d be interested in hearing how you get along.

Share and Enjoy

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

Since posting the above, I’ve learnt of a new issue, one that is, alas, a showstopper.

There are two ways you might use Network framework for this:

  • NetworkConnection — As I mentioned above, there’s a bug that prevents this from working (r. 175046087).
  • NWConnection — I just learn about another bug that prevents this from working (r. 175046087).

So, you can’t use QUIC with Wi-Fi Aware through either Network framework API, which means you can’t use it )-:

Needless to say, this is disappointing, and we hope to fix these bugs sooner rather later. But, for the moment, there’s no way to make this work.

Share and Enjoy

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

Wi-Fi Aware using QUIC
 
 
Q