不要在状态栏中显示位置服务图标,但仍使用后台更新

时间:2016-09-22 19:36:50

标签: ios swift xcode ios8 cllocationmanager

我正在寻找解决问题的方法: 如果我使用locationManager.requestAlwaysAuthorization(),状态栏中会出现一个位置图标并且永远不会消失,因此,这就是问题 - 用户可以认为我的应用耗尽了电量,但事实并非如此。

因此,当我使用.requestWhenInUseAuthorization()我无法调用didUpdateLocations函数来更新位置,即使我添加了获取后台更新,#selector也不允许调用该方法。

我希望我的应用在后台获取位置更新,而不会始终在状态栏中显示位置图标。如何通过提取更新位置?

1 个答案:

答案 0 :(得分:0)

  

所以,当我使用.requestWhenInUseAuthorization()时,我无法调用didUpdateLocations函数

是的,你可以。如果在更新位置时进入后台,则可以继续更新位置。您不能做的是开始从后台更新位置

  

我希望我的应用在后台获取位置更新

使用延迟位置更新或位置监控。这将使您对传感器的使用降至最低。否则,用户在后台使用电池的印象是完全合理的。