IPhone : Location manager is not working

on Tuesday, February 24, 2015

Please don't mark it as duplicate because I took help from others posted answer in site. But still I faced some issues. Location manager delegate not get called even in real device also. And also it's not asking for the permission. Below is my code.



- (IBAction)getUserLocationAction:(id)sender
{
if([CLLocationManager locationServicesEnabled])
{
if(!locationManager)
locationManager = [[CLLocationManager alloc] init];

[locationManager setDelegate:self];
[locationManager setDesiredAccuracy:kCLLocationAccuracyBest];

if ([locationManager respondsToSelector:@selector(requestWhenInUseAuthorization)]) {
[locationManager requestWhenInUseAuthorization];
}

[locationManager startUpdatingLocation];
//[locationManager startMonitoringSignificantLocationChanges];
}
else
{
NSLog(@"Location service is not enabled");
}
}


#pragma mark - Location Manager Delegate-

- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
{
NSLog(@"%@", locations);
userLocation = [locations lastObject];
NSLog(@"User Current Locatiion\nLat: %+.6f\nLong: %+.6f", [userLocation coordinate].latitude, [userLocation coordinate].longitude);

[locationManager stopUpdatingLocation];
//[locationManager stopMonitoringSignificantLocationChanges];
}



- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error
{
NSLog(@"Error: %@", [error localizedDescription]);
}


I also add the below two key in my .plist file



<key>NSLocationWhenInUseUsageDescription</key>
<string>This app want to use your location</string>
<key>NSLocationAlwaysUsageDescription</key>
<string>This app want to use your location</string>


I am not sure where I am doing wrong. Please help me.


0 comments:

Post a Comment