Działa idealnie w przeglądarce i na Androidzie (urządzenie i emulator), ale jeśli chodzi o iOS, robi to NIGDY zapytaj o pozwolenie na lokalizację i otrzymuję błąd limitu czasu, gdy próbuję uzyskać pozycję użytkownika.
Jestem kompletnie zagubiony, zainstalowałemAndroidPermissions tylko po to, aby sprawdzić, czy mam pozwolenie, i okazuje się, że to robię (nie wiem, skąd od zgłoszenia prośby o zezwolenie na dostęp do lokalizacji NIGDY się nie pojawiło).
ja używam
"cordova-plugin-geolocation": "^3.0.0",
"cordova-ios": "^4.5.4"
Kod wygląda mniej więcej tak:
import { Injectable } from "@angular/core";
import { Geolocation } from "@ionic-native/geolocation";
@Injectable()
export class BaresProvider {
getPosition() {
return this.geolocation.getCurrentPosition({ timeout: 15000 });
}
}
Ponownie korzystam z tej usługi z innej klasy i na Androidzie działa ona zgodnie z oczekiwaniami.
Proszę wprowadzić dane!
Odpowiedzi:
2 dla odpowiedzi № 1Tak, właśnie to rozwiązałem, dodając te dwa klucze za pomocą ciągu znaków w pliku info.plist mojej aplikacji:
NSLocationWhenInUseUsageDescription
NSLocationAlwaysUsageDescription