<!--
{
  "availability" : [
    "iOS: 2.0.0 -",
    "iPadOS: 2.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.6.0 -",
    "tvOS: 9.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 2.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "CoreLocation",
  "identifier" : "/documentation/CoreLocation/CLLocationManager/desiredAccuracy",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "Core Location"
    ],
    "preciseIdentifier" : "c:objc(cs)CLLocationManager(py)desiredAccuracy"
  },
  "title" : "desiredAccuracy"
}
-->

# desiredAccuracy

The accuracy of the location data that your app wants to receive.

```
var desiredAccuracy: CLLocationAccuracy { get set }
```

## Discussion

The location service does its best to achieve the requested accuracy; however, apps must be prepared to use less accurate data. If your app isn’t authorized to access precise location information (`isAuthorizedForPreciseLocation` is <doc://com.apple.documentation/documentation/Swift/false>), changes to this property’s value have no effect; the accuracy is always [`kCLLocationAccuracyReduced`](/documentation/CoreLocation/kCLLocationAccuracyReduced).

To reduce your app’s impact on battery life, assign a value to this property that’s appropriate for your usage. For example, if you need the current location only within a kilometer, specify [`kCLLocationAccuracyKilometer`](/documentation/CoreLocation/kCLLocationAccuracyKilometer). More accurate location data also takes more time to become available.

After you request high-accuracy location data, your app might still get data with a lower accuracy for a period of time. During the time it takes to determine the location within the requested accuracy, the location service keeps providing the data that’s available, even though that data isn’t as accurate as your app requested. Your app receives more accurate location data as that data becomes available.

For iOS, the default value of this property is [`kCLLocationAccuracyBest`](/documentation/CoreLocation/kCLLocationAccuracyBest). For macOS, watchOS, and tvOS, the default value is [`kCLLocationAccuracyHundredMeters`](/documentation/CoreLocation/kCLLocationAccuracyHundredMeters).

This property effects only the standard location services, not for monitoring significant location changes.

### Special Considerations

In iOS, this property is declared as `nonatomic`. In macOS, it is declared as `atomic`.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)