ios背景位置与kCLLocationAccuracyKilometer和GPS图标

时间:2013-06-26 12:29:03

标签: ios gps location tracking

我使用UIBackgroundModes = location来跟踪用户位置并将数据发送到我的服务器。

实际上,我已经:

self.bgLocationManager=[[CLLocationManager alloc] init];
self.bgLocationManager.delegate=self;
self.bgLocationManager.desiredAccuracy = kCLLocationAccuracyKilometer;
self.bgLocationManager.distanceFilter = 250.0;
[self.bgLocationManager startUpdatingLocation];

我已经看到kCLLocationAccuracyKilometer使用Cell Tower技术作为发现用户位置的默认方法。

当我的应用程序进入后台状态时,GPS图标仍处于活动状态,这可能会让用户担心电池耗电量。此外,我看到其他应用(例如谷歌纵横)可以关闭GPS图标。

开发跟踪用户位置的应用程序的正确方法在哪里?

编辑: 要使用startMonitoringSignificantLocationChanges,我需要用以下代码替换我的代码:

self.bgLocationManager=[[CLLocationManager alloc] init];
self.bgLocationManager.delegate=self;
self.bgLocationManager.desiredAccuracy = kCLLocationAccuracyKilometer;
self.bgLocationManager.distanceFilter = 250.0;
[self.bgLocationManager startMonitoringSignificantLocationChanges];
不是吗?

1 个答案:

答案 0 :(得分:1)

有几点想法:

  1. GPS图标不只是警告他们电池消耗量(虽然在实践中,这是人们在看到图标时首先担心的事情),但同样重要的是,他们的位置也是隐私警告被跟踪。 (为了说明这一点,位置服务设置位于“设置”应用中的“隐私”下。)

  2. 您可能会考虑使用重要的变更服务,而不是希望kCLLocationAccuracyKilometer不会过多地耗尽电池电量,而服务的设计正是出于这个目的而设计的。这也有一个优点,它会在位置发生变化时唤醒您的应用,而标准服务则不会。

  3. 另外,我希望有一个不同的颜色图标或一些其他视觉提示,用于重大变更服务与标准服务(有点像地理围栏),因此用户可以区分电池耗尽问题和隐私问题,但我不相信有。