---
title: "requestState(for:)"
framework: corelocation
role: symbol
role_heading: Instance Method
path: "corelocation/cllocationmanager/requeststate(for:)"
---

# requestState(for:)

Retrieves the state of a region asynchronously.

## Declaration

```swift
func requestState(for region: CLRegion)
```

## Parameters

- `region`: The region with the state you want to know. This object needs to be an instance of one of the standard region subclasses that doc://com.apple.corelocation/documentation/CoreLocation provides, such as doc://com.apple.corelocation/documentation/CoreLocation/CLCircularRegion or doc://com.apple.corelocation/documentation/CoreLocation/CLBeaconRegion. You can’t use this method to determine the state of custom regions you define yourself.

## Discussion

Discussion This method performs the request asynchronously and delivers the results to the location manager’s delegate. You must implement the locationManager(_:didDetermineState:for:) method in the delegate to receive the results. If the region parameter contains an unknown type of region object, this method does nothing. If a compatible iPad or iPhone app calls this method when running in visionOS, the method does nothing.

## See Also

### Methods

- [startMonitoring(for:)](corelocation/cllocationmanager/startmonitoring(for:).md)
- [stopMonitoring(for:)](corelocation/cllocationmanager/stopmonitoring(for:).md)
- [regionMonitoringAvailable()](corelocation/cllocationmanager/regionmonitoringavailable().md)
- [regionMonitoringEnabled()](corelocation/cllocationmanager/regionmonitoringenabled().md)
- [authorizationStatus()](corelocation/cllocationmanager/authorizationstatus().md)
- [startMonitoring(for:desiredAccuracy:)](corelocation/cllocationmanager/startmonitoring(for:desiredaccuracy:).md)
- [startRangingBeacons(in:)](corelocation/cllocationmanager/startrangingbeacons(in:).md)
- [stopRangingBeacons(in:)](corelocation/cllocationmanager/stoprangingbeacons(in:).md)
- [deferredLocationUpdatesAvailable()](corelocation/cllocationmanager/deferredlocationupdatesavailable().md)
- [allowDeferredLocationUpdates(untilTraveled:timeout:)](corelocation/cllocationmanager/allowdeferredlocationupdates(untiltraveled:timeout:).md)
- [disallowDeferredLocationUpdates()](corelocation/cllocationmanager/disallowdeferredlocationupdates().md)
