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?
locationServicesEnabled
returns whether location service is enabled on settings.. If it is enabled in settings, this function returnsYES
all 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.