"Не разрешать" в LocationManager ведет журнал ошибок
У меня есть приложение, которое проверило местоположение. Он просит пользователя использовать местоположение, и если пользователь говорит "нет" в меню, возникает проблема при загрузке карты.
Как только я выбираю mapView, он снова запрашивает местоположение пользователя. Если пользователь снова говорит "нет", моя консоль продолжает отображать ошибки / предупреждения, а также мой NSLog из "didFailWithError" моего класса Location Manager.
Есть ли способ остановить Location Manage: didFailWithErrors, если пользователь уже сказал нет? Я не думаю, что Apple примет мое приложение, если файл журнала будет заполнен моим Location Manager
Вот пример того, что повторяется в консоли
ERROR,Time,290362745.002,Function,"void CLClientHandleDaemonDataRegistration(__CLClient*, const CLDaemonCommToClientRegistration*, const __CFDictionary*)",server did not accept client registration 1
WARNING,Time,290362745.005,Function,"void CLClientHandleDaemonInvalidation(__CFMessagePort*, void*)",client 1035.0 has been disconnected from daemon
2010-03-15 12:19:05.002 SAQ[1035:207] LocationManager Error Denied by user
2 ответа
Документация по -didFailWithError:
Метод говорит:
Если пользователь отрицает использование приложением службы определения местоположения, этот метод сообщает об ошибке kCLErrorDenied. Получив такую ошибку, вы должны остановить службу определения местоположения.
Поэтому после получения этой ошибки вы должны отправить сообщение менеджеру местоположения, чтобы прекратить обновление местоположения:
[manager stopUpdatingLocation];
Если вы используете MKMapView, я думаю, настройка его showsUserLocation
Свойство НЕТ должно сделать свое дело.
Вы несете ответственность за проверку кода ошибки и прекращение обновления местоположения, если код ошибки kCLErrorDenied
,