2016-04-29 2 views
0

Я разрабатываю приложение с Cordova для iOS, которое включает в себя функции геолокации (я использую официальный плагин https://github.com/apache/cordova-plugin-geolocation). Я видел в настройках моего приложения, что доступ к местоположению может быть установлен как «Никогда» или «При использовании приложения». Однако в некоторых других приложениях также может быть опция «Всегда», как показано на прилагаемом скриншоте. Я хотел бы знать, можно ли также иметь вариант «Всегда» для приложений на Кордове.iOS cordova разрешить доступ к местоположению «Всегда»

enter image description here

Спасибо!

ответ

1

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

+0

Здравствуйте, спасибо за ваш ответ, но есть недоразумение. Я хочу иметь параметр «Всегда», я не хочу изменять текст ниже трех вариантов. – Pierre

+0

@Pierre Что вы подразумеваете под текстом ниже 3 варианта? это то, что вы ищете, я думаю - NSLocationAlwaysUsageDescription Мое приложение требует постоянного доступа к вашему местоположению, даже если экран выключен. Gandhi

+0

Я обновил свою фотографию, чтобы ее более ясно – Pierre

0

Я использую Ionic 2 и должен был добавить следующее в файл App-Info.plist. Несмотря на то, что кордова вставляет ключи NSLocationAlwaysUsageDescription и NSLocationWhenInUseUsageDescription. Это только дало возможность «Никогда» и «Использовать приложение» при запуске. Xcode предложил использовать следующий вариант, и это сработало для меня.

 <key>NSLocationAlwaysAndWhenInUseUsageDescription</key> 
     <string>This app requires background location tracking</string> 
0

я использовал как NSLocationWhenInUseUsageDescription и NSLocationAlwaysUsageDescription в Кордове приложение моей компании, и он работал. Затем, в конце 2017 года, он прекратился.

Исправление для меня было добавить также NSLocationAlwaysAndWhenInUseUsageDescription.

В более общем плане обратите внимание на то, что вам нужно иметь плагин, позволяющий отслеживать местоположение в фоновом режиме, а также следить за тем, чтобы в XCode был включен необходимый режим фонового режима. Мы используем следующий плагин, чтобы сделать работу: https://www.npmjs.com/package/cordova-plugin-lents-background-geolocation

Этого типа плагин необходим, так как IOS останавливает выполнение сценариев для приложений примерно 3 минуты после того, как дисплей выключен, независимо от приложения переднего плана/фон состояния, когда дисплей был выключен. Это предотвращает запуск любого кода JavaScript, и поэтому любое отслеживание GPS на основе setInterval или setTimeout перестанет работать.

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