Как включить / отключить службы определения местоположения для приложений TestFlight?

#ios #iphone #testflight

#iOS #iPhone #testflight

Вопрос:

Я разработал приложение для iPhone, которое использует службы определения местоположения. я загрузил его в TestFlight и загрузил на устройство iPhone для проверки.

Приложение запрашивает разрешение на определение местоположения после входа в систему. Если разрешение предоставлено, оно будет работать нормально. Если «Отказано», отобразится сообщение с просьбой включить службы определения местоположения.

Я «отказал» в разрешении, закрыл приложение и перезапустил его, но, похоже, iPhone может запомнить предыдущие настройки местоположения. Он не спрашивал меня снова, нужно ли мне разрешать службы определения местоположения.Это произошло и в симуляторе, поэтому я думаю, что так устроена iOS.

Поскольку мое приложение находится в режиме TestFlight, как я могу включить / выключить службу определения местоположения для этого, чтобы теперь я мог проверить, как это будет работать со службами определения местоположения?

Ответ №1:

Как вы правильно говорите, именно так работает iOS. После того, как пользователь отказал приложению в службах определения местоположения, это приложение не сможет снова вызвать диалоговое окно системных разрешений.

Если ваше приложение хотело бы выставить собственное оповещение при запуске или когда ему нужно использовать службы определения местоположения, и обнаруживает, что службы определения местоположения отключены или что его статус denied — нормально. Но это будет полностью зависеть от вашего приложения. По сути, вы просите пользователя перейти к настройкам и авторизовать ваше приложение; вы даже можете включить в свое оповещение кнопку, которая переключает на настройки для пользователя, и это довольно распространенная вещь.

Хорошо, так что насчет тестирования вашего приложения? Ну, если вы просто хотите узнать, работает ли ваше приложение, когда авторизация служб определения местоположения предоставлена, просто перейдите в Настройки и предоставьте их, как это может сделать пользователь.

Если вы хотите начать все сначала без статуса авторизации ( notDetermined ), чтобы вы могли видеть, правильно ли ваше приложение вызывает системный диалог, вам необходимо полностью удалить приложение со своего устройства и переустановить его. Если этого недостаточно, вам придется полностью сбросить разрешения (в настройках, в разделе «Общие»> «Сброс»> «Сбросить местоположение и конфиденциальность»); это довольно сложно, потому что сбрасывает все разрешения, но иногда это единственный способ заставить устройство очистить свой кеш.

Комментарии:

1. Спасибо за ответ. Проблема в том, что это приложение от TeatFlight, и я не вижу этого нигде в настройках, поэтому я не могу включить местоположение

2. Не имеет значения, что приложение было установлено на ваше устройство через TestFlight. Это отображается в настройках. Приложение — это приложение. Перейдите в Настройки> Конфиденциальность> Службы определения местоположения. Убедитесь, что службы определения местоположения включены. Вы увидите свое приложение в прокручиваемом списке приложений на этом экране.

3. О, большое вам спасибо!