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

问题描述:

我正在寻找一些解决方案来处理这个问题: 如果我使用locationManager.requestAlwaysAuthorization()在状态栏中出现一个位置图标,并且永远不会消失,这是问题 - 用户可以认为我的应用程序耗尽了电池,但事实并非如此。不要在状态栏中显示位置服务图标,但仍然使用后台更新

所以,当我使用.requestWhenInUseAuthorization()我不能调用didUpdateLocations函数来更新位置,即使我添加获取后台更新,#选择器不允许调用该方法。

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

所以,当我使用.requestWhenInUseAuthorization()我不能叫didUpdateLocations功能

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

我想我的应用程序获得背景

使用延迟定位更新或定位监控位置更新。这将使您尽可能少地使用传感器。否则,用户在后台使用电池的印象是完全正确的。

+0

“位置监控”使用的区域仅适用于.requestAlwaysAuthorization() –

+0

但是与您​​的应用程序关联的状态栏中没有位置图标,这就是您所问的问题。 – matt