ios - Xamarin iOS Geolocator 后台服务在大约 30 分钟后死亡

标签 ios xamarin xamarin.ios gps

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

https://github.com/jamesmontemagno/GeolocatorPlugin

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

当应用程序处于事件状态并锁定时(但应用程序在前台),GPS 运行良好。但是,当通过单击“主页”按钮将应用程序推送到 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 在答案中那样启用后台获取,这是我需要做的事情吗?

最佳答案

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

enter image description here

关于ios - Xamarin iOS Geolocator 后台服务在大约 30 分钟后死亡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41677464/

相关文章:

ios - 跟踪 iOS 分配时,Apple Instruments 停止工作

xamarin.ios - 使用 MonoTouch 部署 IOS6 应用程序时出错

iphone - 从网络获取图像到 UIImageView 不起作用

ios - 发布到 TestFlight,新测试人员,我真的需要重建/下载我的配置文件吗?

ios - Xcode 是否支持任何形式的 Assets 将一张图像缩放到所有 Assets 大小?

ios - 如何将MKMapPoint值数组转换为MKPolygon覆盖

ios - PCLStorage 和二进制数据

c# - 使用 Objective Sharpie 绑定(bind) CocoaPods 库

ios - scrollsToTop 和屏幕上的多个 scrollViews

iOS 7 - TabBarController 没有文本标签