Flutter-geolocator: getCurrentPosition App schließen [iOS]

Erstellt am 19. Aug. 2020  ·  6Kommentare  ·  Quelle: Baseflow/flutter-geolocator

🐛 Fehlerbericht

Wenn ich getCurrentPosition verwende, wird die App geschlossen,

Version: 5.3.2+2

Plattform:

  • [X] :iphone: iOS
  • [ ] :Roboter: Android
ios bug

Hilfreichster Kommentar

@samo92 , @vijayanbits Am Wochenende habe ich auf pub.dev einen Release Candidate für Version 6.0.0 veröffentlicht, der viele Probleme speziell mit Berechtigungen und Berichten löst, wenn die Ortungsdienste nicht aktiviert sind.

Ich würde es sehr schätzen, wenn Sie es ausprobieren und sehen können, ob es dieses Problem löst. Hoffe, von dir zu hören.

Alle 6 Kommentare

Haben Sie die erforderliche Konfiguration zu Ihrer ios/Runner/Info.plist Datei hinzugefügt (siehe Abschnitt Berechtigung in der README.md)?

Hallo zusammen, meine info.plist hat:

NSLocationWhenInUseUsageDescription
Diese App benötigt beim Öffnen Zugriff auf den Standort.
NSStandortAlwaysUsageDescription
Diese App benötigt im Hintergrund Zugriff auf den Standort.
NSStandortAlwaysAndWhenInUseUsageDescription
Diese App benötigt Zugriff auf den Standort, wenn sie geöffnet und im Hintergrund ausgeführt wird.

In meiner App ruft ein FAB eine Methode wie diese auf:

getPos(){
Versuchen{
final resp = warten mGeolocator.getCurrentPosition();
} fangen (e) {
print(e.toString);
}
}

in Android funktioniert einwandfrei, aber in iOS erscheint nie requestPermission und die App wird geschlossen, Debug-Konsole druckt keine Ausnahme.

Ich habe das gleiche Problem auch auf meinem iOS-Simulator. Die App wird geschlossen.
Funktioniert gut auf einem Android-Simulator und kann die Position abrufen.

Meine info.plist hat:
NSLocationWhenInUseUsageDescription
Diese App benötigt beim Öffnen Zugriff auf den Standort.
NSStandortAlwaysUsageDescription
Diese App benötigt im Hintergrund Zugriff auf den Standort.
NSStandortAlwaysAndWhenInUseUsageDescription
Diese App benötigt Zugriff auf den Standort, wenn sie geöffnet und im Hintergrund ausgeführt wird.

Mein Code:

void getLocation() async {

Position position = await Geolocator()
    .getCurrentPosition(desiredAccuracy: LocationAccuracy.low);

print(position);

}

In Ihren Zielen -> Tab Signing & Capabilites -> Add Capability -> Select Background Modes
Und wählen Sie unten die Optionen.

image

Stellen Sie sicher, dass in Ihrem Simulator die Standortermittlung aktiviert ist.
in Ihrem Simulator -> Debug -> Standort -> Benutzerdefinierter Standort...
image

@samo92 , @vijayanbits Am Wochenende habe ich auf pub.dev einen Release Candidate für Version 6.0.0 veröffentlicht, der viele Probleme speziell mit Berechtigungen und Berichten löst, wenn die Ortungsdienste nicht aktiviert sind.

Ich würde es sehr schätzen, wenn Sie es ausprobieren und sehen können, ob es dieses Problem löst. Hoffe, von dir zu hören.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen