---
title: CLLocationManagerDelegate
framework: corelocation
role: symbol
role_heading: Protocol
path: corelocation/cllocationmanagerdelegate
---

# CLLocationManagerDelegate

The methods you use to receive events from an associated location-manager object.

## Declaration

```swift
protocol CLLocationManagerDelegate : NSObjectProtocol
```

## Overview

Overview The location manager calls its delegate’s methods to report location-related events to your app. Implement this protocol in an app-specific object and use the methods to update your app. For example, you might use the current location to update the user’s position on a map or you might return search results relevant only to the user’s current location. important: Always implement the methods for handling any potential failures in addition to the methods for receiving location-related data. Assign your delegate object to the delegate property of the CLLocationManager object before starting any services. Core Location may report a cached value to your delegate immediately after you start the service, followed by a more current value later. Check the time stamp of any data objects you receive before using them. Core Location calls the methods of your delegate object on the runloop from the thread on which you initialized CLLocationManager. That thread must itself have an active run loop, like the one found in your app’s main thread.

## Topics

### Responding to authorization changes

- [locationManagerDidChangeAuthorization(_:)](corelocation/cllocationmanagerdelegate/locationmanagerdidchangeauthorization(_:).md)
- [locationManager(_:didChangeAuthorization:)](corelocation/cllocationmanagerdelegate/locationmanager(_:didchangeauthorization:).md)

### Handling errors

- [locationManager(_:didFailWithError:)](corelocation/cllocationmanagerdelegate/locationmanager(_:didfailwitherror:).md)

### Receiving location updates

- [locationManager(_:didUpdateLocations:)](corelocation/cllocationmanagerdelegate/locationmanager(_:didupdatelocations:).md)
- [locationManager(_:didUpdateTo:from:)](corelocation/cllocationmanagerdelegate/locationmanager(_:didupdateto:from:).md)
- [locationManager(_:didFinishDeferredUpdatesWithError:)](corelocation/cllocationmanagerdelegate/locationmanager(_:didfinishdeferredupdateswitherror:).md)

### Pausing location updates

- [locationManagerDidPauseLocationUpdates(_:)](corelocation/cllocationmanagerdelegate/locationmanagerdidpauselocationupdates(_:).md)
- [locationManagerDidResumeLocationUpdates(_:)](corelocation/cllocationmanagerdelegate/locationmanagerdidresumelocationupdates(_:).md)

### Receiving visit updates

- [locationManager(_:didVisit:)](corelocation/cllocationmanagerdelegate/locationmanager(_:didvisit:).md)

### Receiving heading updates

- [locationManager(_:didUpdateHeading:)](corelocation/cllocationmanagerdelegate/locationmanager(_:didupdateheading:).md)
- [locationManagerShouldDisplayHeadingCalibration(_:)](corelocation/cllocationmanagerdelegate/locationmanagershoulddisplayheadingcalibration(_:).md)

### Receiving region-related updates

- [locationManager(_:didEnterRegion:)](corelocation/cllocationmanagerdelegate/locationmanager(_:didenterregion:).md)
- [locationManager(_:didExitRegion:)](corelocation/cllocationmanagerdelegate/locationmanager(_:didexitregion:).md)
- [locationManager(_:didDetermineState:for:)](corelocation/cllocationmanagerdelegate/locationmanager(_:diddeterminestate:for:).md)
- [locationManager(_:monitoringDidFailFor:withError:)](corelocation/cllocationmanagerdelegate/locationmanager(_:monitoringdidfailfor:witherror:).md)
- [locationManager(_:didStartMonitoringFor:)](corelocation/cllocationmanagerdelegate/locationmanager(_:didstartmonitoringfor:).md)
- [CLRegionState](corelocation/clregionstate.md)

### Receiving beacon-related updates

- [locationManager(_:didRange:satisfying:)](corelocation/cllocationmanagerdelegate/locationmanager(_:didrange:satisfying:).md)
- [locationManager(_:didFailRangingFor:error:)](corelocation/cllocationmanagerdelegate/locationmanager(_:didfailrangingfor:error:).md)
- [locationManager(_:didRangeBeacons:in:)](corelocation/cllocationmanagerdelegate/locationmanager(_:didrangebeacons:in:).md)
- [locationManager(_:rangingBeaconsDidFailFor:withError:)](corelocation/cllocationmanagerdelegate/locationmanager(_:rangingbeaconsdidfailfor:witherror:).md)

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Receiving data from location services

- [delegate](corelocation/cllocationmanager/delegate.md)
