Разрешения 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, должно быть, решила, что это не ошибка - что странно, когда пользователь удаляет приложение, почему ОС помнит, что пользователи выбирают права доступа для определенного приложения?
Действительный обходной путь недоступен. Просто надо с этим жить.