Obecnie używam Geolokalizacja wtyczki Xamarin znaleźć tutaj:Xamarin iOS Geolocator usługa w tle Dying po około 30 minutach
https://github.com/jamesmontemagno/GeolocatorPlugin
Aby wykonać usługi lokalizacji w aplikacji buduję za pomocą formularzy Xamarin (PCL). Sądzę, że dodałem w odpowiednich ustawieniach uprawnień, aby na to zezwolić.
GPS działa świetnie, gdy aplikacja jest aktywna i zablokowane (ale z aplikacją na pierwszym planie). Jednak gdy aplikacja zostanie przeniesiona na tło w systemie iOS, klikając przycisk "Strona główna", nadal śledzi użytkownika i podświetla komunikat "Aplikacja korzysta z Twojej lokalizacji", jak można się było spodziewać, jednak po upływie pewnego czasu od 30 do 40 minut ten komunikat zniknie, a GPS przestanie śledzić użytkownika, dopóki nie przywróci aplikacji na pierwszy plan.
Gdy aplikacja została wniesiona na pierwszym planie, może są umieszczane w tle po raz kolejny przez kolejne 30-40 minut, aby powtórzyć cykl.
mam zapewnione, że obiekt lokalizator umożliwia aktualizacje w tle:
public static Plugin.Geolocator.Abstractions.IGeolocator locator;
locator = CrossGeolocator.Current;
locator.AllowsBackgroundUpdates = true;
locator.DesiredAccuracy = 20;
Wywołanie .PausesLocationUpdatesAutomatically
pokazuje, że to jest fałszywe (co moim zdaniem jest to ustawienie domyślne).
Edit
Mam następujące klucze do Info.plist:
NSLocationWhenInUseUsageDescription
NSLocationAlwaysUsageDescription
i pozwoliło aktualizacje lokalizacji w tle:
Jednak nie włączono pobierania w tle, ponieważ Girish ma w odpowiedziach, czy to jest coś, co muszę zrobić?
Jakie uprawnienia zostały dodane i gdzie? – Demitrian
Proszę zobaczyć moją edycję, dzięki! – Aphire