Local Network Privacy FAQ-3

This thread has been locked by a moderator.

This post is part of the Local Network Privacy FAQ.

What operations require the multicast entitlement?

The general rule is that sending or receiving multicast or broadcast traffic requires the multicast entitlement (com.apple.developer.networking.multicast). Common scenarios include:

  • Sending a UDP unicast — no

  • Sending a UDP multicast — yes

  • Sending a UDP broadcast — yes

  • Receiving an incoming UDP unicast — no

  • Receiving an incoming UDP multicast — yes

  • Receiving an incoming UDP broadcast — yes

IMPORTANT Due to a combination of implementation limitations and bugs, not all of the these restrictions are enforced on iOS 14 and 15. They should be correctly enforced by iOS 16 and later. Please let us know if you find evidence to the contrary.

Additionally, some Bonjour operations require the multicast entitlement:

  • Working with arbitrary Bonjour service types — yes

  • Browsing for advertised service types [1] — yes

[1] Using _services._dns-sd._udp.local., as described in QA1337 Discovering all advertised Bonjour service types.

Back to the FAQ

Up vote post of eskimo
4.7k views