Under iOS13, when you request the .always permission for coreLocation (to enable background location e.g. for geofences or iBeacons), the app is only granted a "provisional always" permission, which does not allow it to use coreLocation in the background. At a later stage, in principle the OS should popup a permission request to switch to the .always permission. I have yet to experience it, and it seems (looking at Apple developer forums) that nobody have found a way to consistently trigger this dialog popup.
I have asked for .always (which can only provide a useless "provisional always" permission), and then tried to "upgrade" to a real .always permission, but nothing happens (no popup, no permission change)
I have also tried to follow the WWDC recommandation by the book, asking for .always, receiving provisional always, and then trusting that the OS would show the dialog at some stage - with no luck.
Even more troublesome, even if I change manually the permission setting to a real .always permission for my app, the app continues to be unable to range locations in the background.
If asking for .always and receiving a "provisional" always permission, I would expect the OS the show the location dialog at some stage to propose a "real" .always permission. This hasn't happened in 2 weeks, despite entering geofences in the background 10's of times.
I would also expect the permission "upgrade" flow to work, which is not the case despite what's explained in the WWDC video and docs for coreLocation.
If Apple goes ahead with iOS 13 as is, I expect that numerous apps which legitimately range location in the background will stop working as expected entirely.
Has anybody made any progress on that front ? I have filed a "feedback" to Apple, but don't expect to receive a timely response from them before the September iOS 13 GM.