我正在开发一个使用位置信息的应用程序。该应用程序可以在地图上保存路线,如果用户想记录路线,则必须在后台工作以存储用户位置,并在之后在地图上显示它。
为了在后台保存位置信息,我使用了应用程序plist中定义的NSLocationAlwaysUsageDescription属性。
我的问题是,用户可能永远不想记录任何路线,但由于我定义应用程序必须在后台存储位置的方式,我的应用程序似乎总是在后台工作,并且即使在没有必要在后台工作时也会耗费大量电池电量。
我还在viewDidAppear和viewDidDisappear方法中启动和停止位置更新,以避免在不在地图屏幕上时更新位置。
为了在后台保存位置信息,我使用了应用程序plist中定义的NSLocationAlwaysUsageDescription属性。
我的问题是,用户可能永远不想记录任何路线,但由于我定义应用程序必须在后台存储位置的方式,我的应用程序似乎总是在后台工作,并且即使在没有必要在后台工作时也会耗费大量电池电量。
我还在viewDidAppear和viewDidDisappear方法中启动和停止位置更新,以避免在不在地图屏幕上时更新位置。
- (void)viewDidAppear:(BOOL)animated
{
...
[[SBLocationManager sharedInstance] startUpdatingLocation];
...
}
- (void)viewDidDisappear:(BOOL)animated
{
[[SBLocationManager sharedInstance] stopUpdatingLocation];
[self.stationProvider stopProviding];
}
我一直在寻找方法,但是没有找到在需要时打开/关闭后台位置的方法。 您知道是否有一种方法可以在应用程序中启用/禁用背景位置,以便让用户进行配置吗?
非常感谢您的帮助 :) 再见!