---
title: purpose
framework: corelocation
role: symbol
role_heading: Instance Property
path: corelocation/cllocationmanager/purpose
---

# purpose

An app-provided string that describes the reason for using location services.

## Declaration

```swift
var purpose: String? { get set }
```

## Discussion

Discussion If this property isn’t nil and the system needs to ask for the user’s consent to use location services, it displays the provided string. You can use this string to explain why your app is using location services. You must set the value of this property prior to starting any location services. Because the string is ultimately displayed to the user, you should always load it from a localized strings file.

## See Also

### Properties

- [headingAvailable](corelocation/cllocationmanager/headingavailable-swift.property.md)
- [locationServicesEnabled](corelocation/cllocationmanager/locationservicesenabled-swift.property.md)
- [rangedRegions](corelocation/cllocationmanager/rangedregions.md)
