Hello,
I'm seeing an issue where beacon updates don't seem to work if the location permission given to the app was WhenInUse, even while the app is in use. If I give the app the Location=Always permission, then beacon updates work for when the app is in use and when the app is in the background.
Does anyone know if this is an iOS limitation or a known issue?
Alternately, since if Location=WhenInUse is selected the beacon updates don't work and will leave the user confused, I tried configuring the app so the only option given is Location=Always (in addition to None of course), but ran into issues with that as well, because of the following:
If I only provide a NSLocationAlwaysUsageDescription key in Info.plist then iOS complains with a console message: "This app has attempted to access privacy-sensitive data without a usage description. The app's Info.plist must contain both NSLocationAlwaysAndWhenInUseUsageDescription and NSLocationWhenInUseUsageDescription keys with string values explaining to the user how the app uses this data". This matches the description of the -[CLLocationManager requestAlwaysAuthorization] method which states: "Both the NSLocationAlwaysAndWhenInUseUsageDescription and NSLocationWhenInUseUsageDescription keys must be specified in your Info.plist; otherwise, this method will do nothing, as your app will be assumed not to support Always authorization.".
However, if I add those keys then the user prompt includes both Always and WhenInUse options. And the WhenInUse option does not seem to work.
Is there a way to only prompt for the Always option?
Thanks.