Ioni c 3 Platform Ready срабатывает только после закрытия приложения или его приостановки - PullRequest
0 голосов
/ 13 января 2020

У меня есть приложение ioni c 3, использующее геолокацию. Приложение отлично работает на Android, но у меня странное поведение на IOS. Когда я запускаю приложение на IOS, оно запускается нормально, но не запрашивает разрешения на местоположение, пока я не приостановлю или не закрою приложение, в результате чего приложение не будет полностью функциональным. Мой идентификатор геолокации, включенный в функцию platform.ready в конструкторе компонентов:

 platform.ready().then(() => {
      geolocation.getCurrentPosition().then(position => {
        this.current_postion_lat = position.coords.latitude;
        this.current_postion_long = position.coords.longitude;
        console.log('Latitude: ' + position.coords.latitude + '\n' +
          'Longitude: ' + position.coords.longitude + '\n' +
          'Altitude: ' + position.coords.altitude + '\n' +
          'Accuracy: ' + position.coords.accuracy + '\n' +
          'Altitude Accuracy: ' + position.coords.altitudeAccuracy + '\n' +
          'Heading: ' + position.coords.heading + '\n' +
          'Speed: ' + position.coords.speed + '\n' +
          'Timestamp: ' + position.timestamp + '\n');

        console.log("Got to Location Provider Constructor");
        const watch = geolocation.watchPosition().subscribe(pos => {
          this.current_postion_lat = pos.coords.latitude;
          this.current_postion_long = pos.coords.longitude;
          console.log('lat: ' + pos.coords.latitude + ', lon: ' + pos.coords.longitude);
        });

      });
    });

My ioni c info:

@ ionic / cli-utils: 1.19.3 ioni c (Ioni c CLI): 3.20.1

глобальные пакеты:

cordova (Cordova CLI) : 8.0.0 

локальные пакеты:

@ionic/app-scripts : 3.2.4
Cordova Platforms  : android 8.0.0 browser 5.0.4 ios 5.1.1
Ionic Framework    : ionic-angular 3.6.1

Система:

Android SDK Tools : 26.1.1
ios-sim           : 8.0.2 
Node              : v10.16.3
npm               : 4.1.2 
OS                : macOS
Xcode             : Xcode 10.1 Build version 10B61 

Пожалуйста, помогите. Это помешало мне освободиться.

1 Ответ

0 голосов
/ 13 января 2020

Для iOS вы должны добавить приведенную ниже конфигурацию в вашу конфигурацию. xml file.

<edit-config file="*-Info.plist" mode="merge" target="NSLocationWhenInUseUsageDescription">
   <string>We use your location for full functionality of certain app features.</string>
</edit-config>
...