不要在状态栏中显示位置服务图标,但仍然使用后台更新
问题描述:
我正在寻找一些解决方案来处理这个问题: 如果我使用locationManager.requestAlwaysAuthorization()
在状态栏中出现一个位置图标,并且永远不会消失,这是问题 - 用户可以认为我的应用程序耗尽了电池,但事实并非如此。不要在状态栏中显示位置服务图标,但仍然使用后台更新
所以,当我使用.requestWhenInUseAuthorization()
我不能调用didUpdateLocations
函数来更新位置,即使我添加获取后台更新,#选择器不允许调用该方法。
我希望我的应用在后台获取位置更新,而不必在状态栏中始终显示位置图标。我如何通过抓取更新位置?
答
所以,当我使用.requestWhenInUseAuthorization()我不能叫didUpdateLocations功能
当然可以。如果您在更新位置时进入后台,则可以继续更新位置。你不能做的是开始更新地点从背景。
我想我的应用程序获得背景
使用延迟定位更新或定位监控位置更新。这将使您尽可能少地使用传感器。否则,用户在后台使用电池的印象是完全正确的。
“位置监控”使用的区域仅适用于.requestAlwaysAuthorization() –
但是与您的应用程序关联的状态栏中没有位置图标,这就是您所问的问题。 – matt