Xamarin iOS Geolocator后台服务约30分钟后死亡

时间:2017-01-16 13:25:16

标签: ios xamarin xamarin.ios gps

我目前正在使用此处的Xamarin地理位置插件:

https://github.com/jamesmontemagno/GeolocatorPlugin

在我使用Xamarin Forms(PCL)构建的应用程序中执行位置服务。 我相信我已经添加了相关的权限设置以允许这样做。

当应用程序处于活动状态并锁定时,GPS工作正常(但应用程序位于前台)。但是,当通过点击" home"将应用程序推送到iOS的后台时按钮,它仍然跟踪用户并突出显示"应用程序正在使用您的位置"正如我所期望的那样,但是在30-40分钟之后的一段时间内,此消息消失,并且GPS似乎停止跟踪用户,直到他们将应用程序带回前台。

将应用程序带到前台后,可以再次对其进行后退30-40分钟以重复此循环。

我确保定位器对象允许后台更新:

public static Plugin.Geolocator.Abstractions.IGeolocator locator;
locator = CrossGeolocator.Current;
locator.AllowsBackgroundUpdates = true;
locator.DesiredAccuracy = 20;

.PausesLocationUpdatesAutomatically的调用显示这是错误的(我认为这是默认设置)。

修改

我有以下关键信息到info.plist:

NSLocationWhenInUseUsageDescription
NSLocationAlwaysUsageDescription

启用了后台位置更新:

enter image description here

enter image description here

但是我没有启用背景提取,因为Girish在答案中,这是我需要做的事情吗?

1 个答案:

答案 0 :(得分:0)

请检查您是否启用了位置更新的后台模式。

enter image description here