How to find your current location with CoreLocation

You can find your location using CoreLocation like this:

import CoreLocation:

#import <CoreLocation/CoreLocation.h>

Declare CLLocationManager:

CLLocationManager *locationManager;

Initialize the locationManager in viewDidLoad and create a function that can return the current location as an NSString:

- (NSString *)deviceLocation {
    return [NSString stringWithFormat:@"latitude: %f longitude: %f", locationManager.location.coordinate.latitude, locationManager.location.coordinate.longitude];
}

- (void)viewDidLoad
{
    locationManager = [[CLLocationManager alloc] init];
    locationManager.distanceFilter = kCLDistanceFilterNone; // whenever we move
    locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters; // 100 m
    [locationManager startUpdatingLocation];
}

And calling the deviceLocation function will return the location as expected:

NSLog(@"%@", [self deviceLocation]);

This is just an example. Initializing CLLocationManager without the user being ready for it isn’t a good idea. And, of course, locationManager.location.coordinate can be used to get latitude and longitude at will after CLLocationManager has been initialized.

Don’t forget to add the CoreLocation.framework in your project settings under the Build Phases tab (Targets->Build Phases->Link Binary).

Leave a Comment