我目前正在使用此处的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
启用了后台位置更新:
但是我没有启用背景提取,因为Girish在答案中,这是我需要做的事情吗?