There’s two things to check when you need to know if ‘Location Services’ are turned on for your application.

1. Is Location Services in general turned on.
2. Is it turned on for your app.

Here’s how you can determine the former.

- (void) checkLocationServicesTurnedOn {
    if (![CLLocationManager locationServicesEnabled]) {
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"== Opps! ==" 
  message:@"'Location Services' need to be on."
  delegate:nil
  cancelButtonTitle:@"OK" 
  otherButtonTitles:nil];
        [alert show];      
    }     
}

Here’s how you do the latter.

-(void) checkApplicationHasLocationServicesPermission {
    if ([CLLocationManager authorizationStatus] == kCLAuthorizationStatusDenied) {
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"== Opps! ==" 
message:@"This application needs 'Location Services' to be turned on."
delegate:nil
cancelButtonTitle:@"OK" 
otherButtonTitles:nil];
        [alert show];      
    }    
}

Here’s where I usually call these from.

- (void)viewDidLoad
{
    [super viewDidLoad];    
    [self checkLocationServicesTurnedOn];
    [self checkApplicationHasLocationServicesPermission];    
}

Basically there is no way to force location services on. All you can do is check, and then ask the user nicely to turn them on if they want to use your application.