Разрешения CLLocationManager на iOS 4.3

В настоящее время у меня есть приложение, которое использует службы определения местоположения и отлично работает на устройствах под управлением iOS5 и выше. Тем не менее, столкнулись с проблемами несоответствия с 4.3.x.

Проблема:

При установке и запуске приложения в первый раз, мы получаем обычный диалог "Разрешить этому приложению использовать Location Services", чтобы изменить [CLLocationManager authorizationStatus], Однако, когда мы удаляем приложение (с главного экрана) и переустанавливаем приложение, мы никогда не получаем это приглашение снова, и каким-то образом ОС кэширует отклик пользователей для этого приложения, несмотря на то, что это приложение удаляется и переустанавливается заново. На всех других версиях iOS мы получаем ожидаемое приглашение и [CLLocationManager authorizationStatus] установлен в kCLAuthorizationStatusNotDetermined как и ожидалось.

Может кто-нибудь сказать мне, почему с 4.3 ОС, кажется, запоминает параметры приложения, несмотря на то, что оно было удалено? Чтобы исправить эту проблему в настоящее время, я должен вручную сбросить все настройки служб местоположения на устройстве через меню настроек.

Если вам нужна какая-либо информация или фрагменты кода, пожалуйста, спросите.

1 ответ

Решение

Оказывается, это ограничение 4.3 и проявляется при запуске приложения на любом устройстве iOS 4.3.

Apple, должно быть, решила, что это не ошибка - что странно, когда пользователь удаляет приложение, почему ОС помнит, что пользователи выбирают права доступа для определенного приложения?

Действительный обходной путь недоступен. Просто надо с этим жить.

Другие вопросы по тегам