2017-04-18 73 views
0

显著-位置变化监测和位置更新监控之间切换我们使用显著-位置变化监测了解我们用户的行踪时,应用程序没有运行。这些数据基于蜂窝塔信号,因此不是很准确。我们希望在可能的时候使用更准确的数据,也就是说,当应用程序处于活动状态或在后台运行时。基于应用程序的状态

的问题是,我应该使用“startMonitoringSignificantLocationChanges”和“startUpdatingLocation”在同一时间,或者,我应该这两种方法之间切换?如果第二个选项更好,我应该使用哪些应用程序委托事件来执行必要的切换?

回答

3

除非你想支持的功能,需要连续的高精度位置流,其最好避免通过使用startUpdatingLocation高精度GPS数据的所有时间。

我从你的问题,你打算只在某些感兴趣的点,用更准确的位置,当你的应用被唤醒理解。在这种情况下,仅在需要时才开启更准确的位置数据的第二种方法是更好的主意。

locationManager(_:didUpdateLocations:)CLLocationManager代表将是一个很好的点,你的情况来开始这个。请记住,重要的位置更改监视API至少每15分钟唤醒系统一次,即使没有位置更改,直至明确停止。所以人们必须小心使用它。

准确插入检测位置跟踪,同时确保你不要吃了所有的手机电池是解决一个不平凡的问题。您可能想要提供第三方SDK,如Hypertrack,这是专门针对此的尝试。