NSLocationDefaultAccuracyReduced
A Boolean value that indicates whether the app requests reduced location accuracy by default.
Discussion
Include this key in your information property list to set your app’s default behavior for location accuracy when it calls the Core Location framework. Set the key value to true to prompt the user for reduced accuracy by default; set it to false to prompt for full location accuracy. If you don’t include that key in your Info.plist, that’s equivalent to setting it to false.
Include the key pair in your Info.plist file as shown:
<!-- Info.plist -->
<key>NSLocationDefaultAccuracyReduced</key>
<true/>When this key is set to true, all Core Location services (location updates, visit monitoring, significant location change, fence monitoring) receive service at the reduced-accuracy service level. Users will see that your app is asking for reduced accuracy because the location authorization prompt will show a map with an approximate location, and your app will have the Precise Location toggled off in Settings > Privacy > Location Services . These indicators of an app’s improved privacy are ones that users may value.
If you want to leverage the reduced-accuracy feature to improve privacy in a particular operation without setting this key, use the desiredAccuracy constant kCLLocationAccuracyReduced. This constant causes startUpdatingLocation() to deliver results as if the app were authorized for approximate location until you change the desiredAccuracy constant again.
Setting NSLocationDefaultAccuracyReduced determines the default type of authorization your app gets, but users can override it any time in Settings. Users always control the level of location accuracy they want to share, and can change precision settings in Settings > Privacy > Location Services by selecting Precise Location for your app.