iOS 14 Network privacy permission check is not shown after reinstall, nor is the toggle shown in Settings -> Privacy -> Local Network

While testing the implementation of this new check in our app, we discovered a bug:

  1. Our App Store version is still compiled with Xcode 11.7

  2. Install it from the App Store on an iPhone with iOS 14.0 final (18A373)

  3. Launch the app. Whenever the first network action is started, the system popup is shown.

  4. Allow permission

  5. Check Settings -> Privacy -> Local Network -> App Name is present with the toggle enabled.

So far so good.

However, we wanted to see the system permission popup again:
  1. Delete the app

  2. Repeat steps 1 till 3 from above

  3. No popup is shown but local network access is silently accepted.

  4. Check Settings -> Privacy -> Local Network. The App Name is not present. So it's not possible anymore to disable local network access.

This seems a serious bug, where a reinstall compromises the Local network privacy.

And another bug for developers, as there seems no way to show the system popup a second time. For example to validate the localised version of NSLocalNetworkUsageDescription, which doesn't seem to work either: https://developer.apple.com/forums/thread/657856


Answered by Martijn in 642125022
Great news, the problem seems to be resolved in iOS 14.1 (18A8395).
We did multiple tests and every time the app is launched after a re-install, the Local Network permission is shown in the app.
Also the Local Network toggle is present in Settings App -> Privacy -> Local Network.

Added bonus
Finally it's possible to consistently reshow the Local Network permission in the app without uninstalling it first, by going to Settings App -> General -> Reset -> Reset Location & Privacy

Thanks Apple for resolving this.
Hi Quinn / Apple team,

Just a heads up that we've also been seeing our customers randomly face this issue since iOS 14 came out as well, particularly when an OS update has occurred.

e.g.
  1. User is on version 2.8.15.0 of our app, local network is granted and everything is good.

  2. OS is updated (most recently from 14.3->14.4), and that app version suddenly appears to no longer work properly as our local networking calls fail to go through. Local network appears still enabled in the settings.

  3. If the user attempts to upgrade to another version of the app, it works just fine. Downgrading back to the problematic version, the issue resurfaces.

We've filed this under FB9019956 in feedback assistant.

thanks,
Colin
Trying to debug this on an iOS 14.4 device right now. Had no alert, nothing in Settings->Privacy->Local Network, resetting Location & Privacy did nothing, ditto deleting/reinstalling the app. Meanwhile all local network access was working. Finally restarted device, deleted app, reset settings, installed app, and now I see the prompt. Except with the prompt up on the screen my URLSessionDataTask fails with an error code of -1009 and a description of The Internet connection appears to be offline which is obviously very unhelpful.

If I allow access by toggling the switch (that has now appeared) on everything works as expected, and if toggle it off my requests immediately start getting the connection offline response again.

How exactly are developers supposed to code around this? We have no way of knowing whether the user has even seen a prompt, never mind how they responded to it. I know that I can set waitsForConnectivity on my URLSessionConfiguration but that just kicks the can down the road if there's no way of identifying a denial.

Edit: I did just set waitsForConnectivity and if I allow the local network access I see the initial request complete successfully, however if I deny the access the request closure does not execute. No failure, just hangs out doing nothing.
I'm receiving complaints from my users due to this issue. Please fix it.
I just ran into this today. Xcode 12.3, 14.3 and 14.4 both do this. My device with iOS 12 doesn't have any issues.
In my case I did a complete reset of my iphone, that temporarily solved my problem, at least I could connect to chromecast with spotify, youtube, etc, in addition to being able to connect a gopro. Apparently everything failed again when my backup was restored. To date I still have the same problem, in the privacy settings the local network is enabled, however every time I want to connect it tells me that I must give access and I cannot see my local network devices. IOS version: 14.4
FIX IT please!
I have the same problem. "Local Network" dialog doesn't appear after uninstall and then install the app. No switcher in the App settings.
But if I delete all apps that use "Local Network", reboot iPhone, and install my app again, the dialog appears and the switcher is visible in the app settings.
In my case, this issue reproduces if you have 2 and more apps that need "Local Network" permission.
iOS 14.3, 14.4
When filtering the Apple Developer forum for the WWDC tag regarding Local Network permission via https://developer.apple.com/forums/tags/wwdc20-10110 , this is the #1 active post.

It's still not resolved, 6 months after the public launch of iOS 14.
As well as my detailed report in Apple Feedback Assistant from October 6, 2020, which refers to his forum post.

2 weeks ago I finally received a response from Apple with, quote "We haven’t had this similar complaint from other developers".
3,8k views and 20 reactions with similar complaints on this forum post...

Common Apple, you can do better. Start taking your devs seriously, who have to deal with customer complaints on a daily basis.
I have angry customers asking me every week, please fix it.
It's strange that even after this long Apple isn't noticing this issue. It is a serious issue.

Our apps are being rejected by Apple due to this reason. Apple this is your own bug. What are we supposed to do ?
Rather than rejecting apps just try to fix this. And God knows how many other users are facing this serious issue.

FIX THIS ASAP.

Have anyone tried restarting their device ?
It WORKED for me !!
Finally good news; the No Feedback Assistant gave an update that the issue should be resolved in iOS 14.6 beta 1.
We just tested it an all 3 issues are resolved. Meaning that now:
  1. After a re-install of the app, the system popup for Local Network permission is always shown.

  2. After a re-install of the app, the iOS Settings app will always show the app name with toggle in "Settings -> Privacy -> Local Network" and "Settings -> app name"

  3. It's possible to consistently reshow the Local Network permission in the app without uninstalling it first, by going to Settings App -> General -> Reset -> Reset Location & Privacy

Thank you Apple for resolving this. Hopefully next time you will act immediately after receiving valuable feedback; we did provide it 7 months ago, both on this forum as in the No Feedback Assistant.
iOS 14 Network privacy permission check is not shown after reinstall, nor is the toggle shown in Settings -> Privacy -> Local Network
 
 
Q