Ответ 1
Возможно
[CLLocationManager authorizationStatus] != kCLAuthorizationStatusDenied
должен быть ответ
вышли вопросы SO:
Проверка сервисов определения местоположения iOS
locationServicesEnabled проходит тест, когда они отключены в viewDidLoad
и да, согласно предложению @albertamg, если вы реализуете протокол CLLocationManagerDelegate
вы будете уведомлены, если пользователь откажется от доступа к службам местоположения, когда вы запрашиваете его
см. методы locationManager:didChangeAuthorizationStatus:
и locationManager:didFailWithError: