Описание проблемы Я работаю над приложением для отслеживания и хочу включить разрешение на определение местоположения "всегда", когда пользователь запускает службу отслеживания. Здесь я строю путь, пройденный пользователем, поэтому я хочу определять широту и долготу, даже если приложение является фоновым. Теперь проблема возникает, когда пользователь выбирает параметр местоположения как «во время использования приложения», при этом я не получаю точную широту и долготу для пользователя, когда приложение находится в фоновом режиме и создает проблемы. В этом случае я не могу построить правильный трек для пользователя.
Для этого я добавил только
"NSLocationAlwaysUsageDescription"
но генерирует ошибку:
Это приложение попыталось получить доступ к конфиденциальным данным без описания использования. Info.plist приложения должен содержать ключи NSLocationAlwaysAndWhenInUseUsageDescription и NSLocationWhenInUseUsageDescription со строковыми значениями, объясняющими пользователю, как приложение использует эти данные.
Чтобы решить эту проблему, мне нужно добавить все разрешения, которые в моем случае работают нормально. Но теперь пользователь получает три варианта при включении location :: «разрешать при использовании приложения», «всегда разрешать» и «не разрешать». Здесь возникает проблема.
Требование Я хочу ограничить пользователя включением только опции определения местоположения «всегда», но теперь во всплывающем окне запроса местоположения отображаются три варианта. Есть ли какой-либо способ определить выбранную пользователем опцию, если пользователь выберет любую опцию, кроме «всегда», я скажу ему, чтобы он выбирал «всегда» при работе с системой отслеживания.
1. Обычно я хочу обнаружить выбранный вариант местоположения пользователя, и если он не «всегда», я хочу снова попросить его выбрать вариант «всегда». Это возможно?
2. Я хочу добавить параметр «всегда» во всплывающее окно службы запросов, в настоящее время я получаю эти три значения: «разрешить при использовании приложения», «разрешить один раз» и «не разрешать». Я добавил разрешения в формате:
<key>NSLocationUsageDescription</key>
<key>NSLocationAlwaysUsageDescription</key>
<key>NSLocationWhenInUseUsageDescription</key>
<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
но он показывает только три значения, проверьте этот снимок экрана: