Setting NSLocationDefaultAccuracyReduced = true appears to prevent CLLocationManager.requestAlwaysAuthorization() from presenting the upgrade prompt after When In Use authorization has been granted.
Repro
https://github.com/Wenszel/core-location-always-repro
- Set
NSLocationDefaultAccuracyReduced = true - Start from a fresh location authorization state
- Call
requestWhenInUseAuthorization()and choose Allow While Using App - Call
requestAlwaysAuthorization()
Expected: The Always authorization upgrade prompt is presented.
Actual: No prompt is presented
Without NSLocationDefaultAccuracyReduced, the upgrade prompt is presented as expected.
Additional case
After granting When In Use, enable Precise Location in Settings and then call requestAlwaysAuthorization().
The upgrade prompt still does not appear, suggesting the issue is tied to NSLocationDefaultAccuracyReduced rather than the current CLAccuracyAuthorization.
Environment
- iPhone 14 Pro, iOS 26.6.1
- Also reproduced on iOS 26.4 Simulator