我正在使用 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];
我不是吗?