You do not need to ask the user for permission, iOS does this automatically for you.
You must set the target string property in the CLLocationManager so that when prompted by the system, it can also tell the user why you want their location.
locationManager.purpose = @"Location needed to show zombies that are nearby.";
Set this property before calling startUpdatingLocation so that it displays to the user in a system alert requesting permission to use the location.
As a delegate, you can implement the locationManager: didChangeAuthorizationStatus: method to find out if the user is allowed to host the kernel or not.
source share