Member-only story
Location Service in the Background iOS
1 min readOct 2, 2020
To use standard location services while the application is in the background you need first turn on Background Modes in the Capabilities tab of the Target settings, and select Location updates.
Or, add it directly to the Info.plist.
<key>NSLocationAlwaysUsageDescription</key>
<string>I want to get your location Information in background</string>
<key>UIBackgroundModes</key>
<array><string>location</string> </array>
Then you need to setup the CLLocationManager
Objective C
//The Location Manager must have a strong reference to it._locationManager = [[CLLocationManager alloc] init];
_locationManager.delegate = self;//Request Always authorization (iOS8+)if ([_locationManager respondsToSelector:@selector(requestAlwaysAuthorization)]) { [_locationManager requestAlwaysAuthorization];}//Allow location updates in the background (iOS9+)if ([_locationManager respondsToSelector:@selector(allowsBackgroundLocationUpdates)]) { _locationManager.allowsBackgroundLocationUpdates = YES;}
[_locationManager startUpdatingLocation];
Swift
self.locationManager.delegate = selfif #available (iOS 8.0,*) {
self.locationManager.requestAlwaysAuthorization()}if #available (iOS 9.0,*) {
self.locationManager.allowsBackgroundLocationUpdates = true}
self.locationManager.startUpdatingLocation()