2012-11-06 2 views
1

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

Проблема:

При установке и запуска приложения для ПЕРВОГО времени, мы получаем обычное «Разрешить приложение использовать Опред.местоположа» диалог для изменения [CLLocationManager authorizationStatus]. Однако, когда мы удаляем приложение (с главного экрана) и переустанавливаем приложение, мы никогда не получаем это приглашение еще раз, и как-то ОС кэшировала ответ пользователей для этого приложения, несмотря на то, что это приложение было удалено и переустановлено только недавно. Во всех других версиях iOS мы получаем приглашение как ожидалось, а [CLLocationManager authorizationStatus] - kCLAuthorizationStatusNotDetermined, как и ожидалось.

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

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

ответ

0

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

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

Не существует допустимого обходного пути. Просто им нужно жить.

Смежные вопросы