我正在开发一个通过跟踪GPS记录旅程的应用程序。如果我们从前台(通过点击“开始旅程”按钮)开始该过程,则在后台一切正常。
现在的想法是开始记录由iBeacon自动触发的这些旅程。当iPhone进入信标区域时,应用会检测到此情况并调用LocationManager.StartUpdatingLocation();函数

问题:
从后台使用iBeacon,我们只能获得10秒的测距,这与我从GPS获取位置更新所需要的时间相同。

我需要做的就是检测我在信标区域内,启动GPS并保持其运行,并且仅当我在该区域外时才禁用GPS。

最佳答案

实际上,我们最近也想在我们的一个应用程序中实现此行为,并且发现,如果我们在前台启动重要的位置更新( startMonitoringSignificantLocationChanges ),那么我们就可以在后台在我们的后台启动常规的位置更新(startUpdatingLocation)。 didEnterRegion实现。

(自然,您的应用需要“始终”授权才能访问位置服务,并且启用了“位置更新”背景模式。)

我们的应用仍在等待审核,因此这是错误还是Core Location的功能以及Apple是否对此表示满意,还有待观察。

关于ios - 如何在Xamarin iOS中启动由iBeacon触发的GPS跟踪?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33695641/

10-15 04:39