How to fix "would like to find and connect to devices on your local network"

Since iOS 14 beta 1 we are seeing a warning that says "<App> would like to find and connect to devices on your local network". To be able to resolve this, we would like to understand where that comes from, what triggers this alert?

Replies

It’s the Facebook SDK.
I read about the facebook SDK as well as rumors about UDP Broadcasting as the core issue. I would like to understand what the actual trigger is to reach out to the vendors we are working with because I also don't think it's our code that causes that.

It's a new privacy feature of iOS 14 as described in the WWDC 2020 "Support local network privacy in your app" session:

Apps now trigger a prompt the first time they try to interact with the local network. Until permission is granted all local network communication is blocked. The prompt includes a usage description that you specify in your app's info.plist. Apps that haven't updated to iOS 14 will show default reason text. If you notice a prompt that you don't expect for your app, you might be using a third party framework that accesses the local network.

https://developer.apple.com/videos/play/wwdc2020/10110/


Post not yet marked as solved Up vote reply of Zaid Down vote reply of Zaid
This wasn't the Facebook SDK for me - I had to spend an hour setting breakpoints and going through the code one line at a time to find it (ended up being some old logging code that was #ifdef'd out for the app store build).

If anyone knows an easier way to find the cause of this alert, please do share. :)
Apple's really not interested in helping us out here, huh?

I'd rather not "find and connect to devices on the local network" if I don't have to; but I have to spend weeks walking through code basis with the debugger to try to figure out what method I'm calling that triggers this?
This permission is really annoying.
In our app, we get it just because we send a request to the DNS server of the local network (the one advertise by the wifi router with DHCP) to resolve a domain name.

I guess this would not happen if we were using CFNetwork's resolver API (https://developer.apple.com/library/archive/documentation/NetworkingInternet/Conceptual/NetworkingTopics/Articles/ResolvingDNSHostnames.html), but unfortunately we can't because the app needs to perform NAPTR and SRV queries, that are unsupported by CFNetwork resolver API.

Apple, could you please avoid asking this permission when the targetted IP address is the DNS server address advertised by the router through DHCP ?

I have the Tesla app that I accidentally said disabled the app to use my device to connect to local network, now the app is not working unless I’m on WiFi.. Tried deleting and reinstalling the app, tried resetting the network setting, tried restarting/force restart, etc.. Nothing works..

How do I get that to be prompted again so I can enable it after I declined it?

Does anyone know?

How do I get that to be prompted again so I can enable it after I
declined it?

See FAQ-13 in the Local Network Privacy FAQ.



Oh wait, are you developing this app? Or just using it? If it’s the latter, FAQ-13 might help but, if not, you’re very much in the wrong place. If you’re having user-problems with an app, you should contact the app’s vendor.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@apple.com"
  • Is there any mechanism to suppress this pop up during development. It is complete death to any automated testing.

Add a Comment

Is there any mechanism to suppress this pop up during development.

Can you start a new thread for this question?

OK, I see that you did start a new thread for this. I’ll respond over there.

Share and Enjoy

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