I am using [CLLocationManager locationServicesEnabled] function to get the status whether location service is enabled or not. I kept code in viewDidLoad method.
if(![CLLocationManager locationServicesEnabled])
{
NSLog(@"No");
}
else
{
NSLog(@"Yes");
}
When I am running this app first time it returns Yes. Why? It should return me No. This is the case when I did not select “Allow” or “Don’t allow” options. Means I neither allow nor don’t allow but in viewDidLoad I got Yes.
Now I select “Don’t allow” and again load the same viewController. At this time at least it should return me No, but still I got Yes. Why?
So much of confusion with CLLocationManager.
Any ideas?
locationServicesEnabledreturns whether location service is enabled on settings.. If it is enabled in settings, this function returnsYESall the time..from documentation
Whether or not user allowed/rejected app permission (in the alertview) doesn’t affect the return value of this method.
If you want to know whether user has given application permission to access location, you can use authorizationStatus.