Мое приложение использует типичный шаблон запуска CLLocationManager, а затем вызывает stopUpdatingLocation
от locationManager:didUpdateToLocation:fromLocation:
, если newLocation
достаточно точен. Мой вопрос тоже ли мне нужно позвонитьДолжен ли я отправить [locationManager stopUpdatingLocation] в locationManager: didFailWithError :?
[locationManager stopUpdatingLocation];
в locationManager:didFailWithError:
. Документы Apple, говорят
If the location service is unable to retrieve a location right away, it reports a
kCLErrorLocationUnknown
error and keeps trying. In such a situation, you can simply ignore the error and wait for a new event.If the user denies your application’s use of the location service, this method reports a
kCLErrorDenied
error. Upon receiving such an error, you should stop the location service.
В первом случае я не должен вызывать stopUpdatingLocation
, так как менеджер местоположения может излучать хорошее место. Как насчет других случаев? Мое приложение всегда проверяет [CLLocationManager locationServicesEnabled]
и [CLLocationManager authorizationStatus]
, прежде чем пытаться использовать службы определения местоположения, так что мне действительно нужно обрабатывать случай kCLErrorDenied
? И в случае какой-либо другой ошибки автоматически будут остановлены службы определения местоположения?