Urban Airship UALocation exposes a very simple, high-level API for requesting location.

Enabling location


Urban Airship's location framework relies on Apple's significant-change location service, which lessens battery impact but requires always-on usage. See Getting the User's Location for details.

Before you can access the user's location, the user must authorize your application via a location authorization prompt. For the authorization prompt to display properly, you must add the NSLocationAlwaysUsageDescription key to your application's info.plist.

Enable location
UAirship.location().isLocationUpdatesEnabled = true
[UAirship location].locationUpdatesEnabled = YES;

When location updates are enabled for the first time it will prompt the user for permission. This behavior can be changed by disabling autoRequestAuthorizationEnabled.

Allow Background Location

Once the app backgrounds, location updates will be suspended by default, then resumed again once the app is foregrounded. To allow location updates to continue in the background, enable backgroundLocationUpdatesAllowed:

Allow background location
UAirship.location().isBackgroundLocationUpdatesAllowed = true
[UAirship location].backgroundLocationUpdatesAllowed = YES;