Использование функции определения местоположения на iPhone вызывает «X хотел бы использовать ваше текущее местоположение» - «Не разрешать» / «ОК».В документации CLLocationManager указано:
"У пользователя есть возможность запретить приложению доступ к данным службы определения местоположения. Во время первоначального использования приложением базовая структура местоположенияпредлагает пользователю подтвердить, что использование службы определения местоположения приемлемо. Если пользователь отклоняет запрос, объект CLLocationManager сообщает о соответствующей ошибке своему делегату во время будущих запросов. "
Я обнаружил, что" первоначальное использование "былодва раза, если вы нажмете «ОК», чтобы разрешить услуги определения местоположения.С третьего раза iPhone будет помнить ваши настройки для всех будущих применений приложения.
Однако пользователь, нажимающий «Не разрешать», будет постоянно беспокоиться каждый раз, когда часть приложения пытаетсяиспользует службы определения местоположения.Я пробовал как минимум 15 раз в своем приложении и нажал «Не разрешать» еще больше в «Ванкувере 2010 - официальное руководство для мобильных зрителей».Это очень раздражает пользователей, которые не хотят использовать эту функцию.
Мои вопросы:
- Для всех приложений iPhone спросит два раза и запомнит настройку, если вы нажмете «ОК».Это правильное наблюдение?
- Существует ли ограничение на количество попыток, которые iPhone продолжит спрашивать, нажимаете ли вы "Не разрешать", или это никогда не запоминается?Как вы справляетесь с этим?Поскольку locationManager: didFailWithError: уведомлено, я полагаю, что оно может каждый раз увеличивать свойство счетчика и сохранять его.При следующем использовании приложения этот параметр проверяется в моем собственном коде.Если счетчик> = 2, не используйте местоположение ядра.
- Единственный способ, как я обнаружил, чтобы удалить настройку «ОК» после запоминания, это сбросить его для ВСЕХ приложений в общем -> Сброс -> Предупреждения о местоположении,Есть ли способ сделать это только для одного приложения или из моего собственного кода?