2016-04-06 7 views
1

У меня есть приложение Cordova, и первое, что он делает, это проверить местоположение пользователя при запуске приложения. Проблема в том, что если это первый раз, когда пользователь запускает приложение (на iOS), плагин геолокации не ждет, пока пользователь скажет «да» или «нет» в диалоговом окне «geo permissions», который открывается iOS.Cordova geolocation, Ждите разрешения пользователя

Есть ли в любом случае я могу заставить эту функцию плагина ждать, пока пользователь скажет, разрешить или запретить геоопределения?

Plugin в вопросе вызова функции https://github.com/apache/cordova-plugin-geolocation

Пример:

navigator.geolocation.getCurrentPosition(geolocationSuccess,geolocationError,geolocationOptions); 

При запуске приложения на первый раз я получаю IOS разрешения подсказки, но я могу видеть, в фоновом режиме, что вызов функции уже упал в функцию ошибки.

Любая помощь была бы принята с благодарностью.

+0

У меня такая же проблема, и я не знаю, как исправить все, что угодно ... –

+0

@FernandoZamperin Удалось ли вам найти решение в конце? –

+0

Да, я нахожу решение, я просто прошу разрешения на платформу, и тогда, когда я пойду, чтобы получить место, он отлично работает! Попробуйте этот плагин прост в использовании https://github.com/dpa99c/cordova-diagnostic-plugin#requestlocationauthorization –

ответ

1

Она нуждается в модификации в PLIST выполните следующие шаги, ниже шаги предполагается следовать перед добавлением Ур платформы в Кордову:

Шаг 1:

add NSLocationWhenInUseUsageDescription to the .plist. Open /platforms/ios/{project}/{project}-Info.plist 

Шаг 2: Добавьте ниже

<key>NSLocationWhenInUseUsageDescription</key> 
<string>[App Name] would like to access your location when running and displayed.</string> 
+0

также chk this: http://stackoverflow.com/questions/28891339/fix-cordova-geolocation-ask-for -location-message/30742592 – KOTIOS

+0

Ах, отлично! Я думал, что это будет решение Javascript или что-то еще, а не что-то в реальной сборке. –

+1

Проблема в том, что просто кажется, что это настраиваемое сообщение. Он по-прежнему выполняет таймер в тайм-ауте позади сообщения и затем будет ошибкой после истечения таймера. –

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