Как определить разрешение разрешенного местоположения для реакции native iOS и запросить разрешение, если оно не выбрано? - PullRequest
1 голос
/ 23 января 2020

Описание проблемы Я работаю над приложением для отслеживания и хочу включить разрешение «всегда» на местоположение, когда пользователь запускает службу отслеживания. Здесь я строю путь, пройденный пользователем, поэтому я хочу определить широту и долготу, даже если приложение является фоновым. Теперь проблема возникает, когда пользователь выбирает опцию местоположения как «во время использования приложения», при этом я не получаю точную широту и долготу для пользователя, когда приложение находится в фоновом режиме и создает проблемы. В этом случае я не могу создать правильный трек для пользователя.

Для этого я добавил только

"NSLocationAlwaysUsageDescription"

, но выдает ошибку ::

Это приложение пыталось получить доступ к конфиденциальным данным без описания использования. Info.plist приложения должен содержать как NSLocationAlwaysAndWhenInUseUsageDescription, так и NSLocationWhenInUseUsageDescription ключи со строковыми значениями, объясняющими пользователю, как приложение использует эти данные

Чтобы решить эту проблему, я должен добавить все разрешения, которые отлично работают в моем дело. Но теперь пользователь получает три варианта при включении location: «разрешить при использовании приложения», «всегда разрешать» и «не разрешать». Здесь возникает проблема.

Требование Я хочу ограничить пользователя, чтобы он включал только опцию «всегда», но теперь во всплывающем окне запроса местоположения отображаются три параметра. Существует ли какой-либо способ обнаружения выбранной опции пользователем, если пользователь выберет любую опцию, отличную от всегда, я скажу ему выбрать «всегда» при работе в системе слежения.

1. В основном я хочу обнаружить выбранную опцию Опция местоположения пользователя, и если это не «всегда», я хочу попросить его снова выбрать опцию «всегда». Возможно ли это?

2.Я хочу добавить опцию «всегда» во всплывающем окне службы запросов, в настоящее время я получаю эти три значения: «разрешить при использовании приложения», «разрешить один раз» и «не делать» позволять". Я добавил разрешения в формате ::

<key>NSLocationUsageDescription</key>
<key>NSLocationAlwaysUsageDescription</key>
<key>NSLocationWhenInUseUsageDescription</key>
<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>

, но он показывает только три значения, проверьте этот снимок экрана: *

enter image description here

1 Ответ

2 голосов
/ 23 января 2020

Вы можете использовать Reaction-native-Permissions :

import Permissions, { PERMISSIONS, RESULTS } from 'react-native-permissions'

const permissionStatus = await Permissions.check(PERMISSIONS.IOS.LOCATION_ALWAYS)

permissionsStatus будет одним из RESULTS возможных значений:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...