【发布时间】:2018-07-31 16:53:19
【问题描述】:
正如您已经听说的那样,在 iOS11 中,每当授权设置为“使用时”时,主动接收持续后台更新的应用将显示一个双倍高度的蓝色条。如果应用程序正在使用后台位置应用程序,似乎无法删除蓝条。 我的应用支持 ios 9.0 及更高版本,并且我已经添加了 info.plist 中所需的所有键,包括以下键。
<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
<string></string>
但似乎每个人都说在后台位置更新工作时无法移除蓝条。
但是我已经安装了 UBER 并且不知何故他们设法在应用程序处于后台时隐藏了蓝条,但在我的应用程序中,当我将应用程序置于后台时我可以看到蓝条。
当我们在“使用应用程序时”设置权限时,有人知道在 iOS11 中消除蓝条的任何解决方案吗?
【问题讨论】:
-
可能是uber在ios11之前发布了这个概念,现在苹果修改了这个功能
-
如果您只有“使用时”权限,那么您应该在应用移至后台时暂停位置更新。
-
@Paulw11 我已经尝试过您的建议,并且有效。但是,如果我们进入设置应用程序并始终更改模式-> 使用时会出现蓝条,直到我们打开应用程序。 UBER 也处理这个问题,当我们在 UBER 中做同样的事情时没有蓝条
-
如果您的应用在后台并且只有“使用时”,您是否实现了
didChangeAuthorization委托方法以禁用位置更新? -
是的,我已经实现了委托方法,当应用程序进入后台时,我停止了位置更新。当在前台时,我开始位置更新。但是,如果我从设置应用程序更改位置设置,我会得到蓝条。但是,我从未在 uber 应用程序中看到具有“使用应用程序时”位置权限的蓝条。
标签: ios core-location ios11