在ios 11中预防位置蓝条

时间:2018-02-21 07:31:00

标签: ios core-location ios11

正如您已经听说的那样,在iOS11中,只要授权设置为“使用时”,主动接收连续后台更新的应用就会显示双倍高度的蓝色条。如果应用程序使用后台位置应用程序,似乎无法删除蓝色栏。 我的应用程序支持ios 9.0及更高版本,并且我已经添加了info.plist中所需的所有密钥,包括下面的密钥。

<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
<string></string>

但似乎每个人都说在背景位置更新工作时无法删除蓝条。

但是我安装了 UBER ,当应用程序处于后台时,他们设法隐藏了蓝色栏,但是在我的应用程序中,当我将应用程序放在后台时,我可以看到蓝色栏。

当我们在“使用应用程序时”设置权限时,是否有人知道在iOS11中摆脱蓝条的任何解决方案?

3 个答案:

答案 0 :(得分:0)

在iOS 11中,当总是授权的应用程序在通过startUpdatingLocation()

主动接收连续背景位置更新时选择显示蓝色条,将显示蓝条。

CLLocationManager上有一个新属性,始终授权的应用程序可以用来控制蓝条的可见性。

@property(assign, nonatomic) BOOL showsBackgroundLocationIndicator

使用中的授权应用程序将继续像以前一样显示蓝条。

没有其他服务会打开蓝条。当使用任何其他位置服务的应用程序偶尔会收到更新(例如重要位置更改)时,状态栏上的位置箭头将暂时闪烁,但蓝色栏不会出现。

答案 1 :(得分:0)

尝试使用NSLocationAlwaysUsageDescription文件中的info.plist并使用requestAlwaysAuthorization中的CLLocationManager

showsBackgroundLocationIndicatorrequestAlwaysAuthorization非常有用。

答案 2 :(得分:0)

根据apple,在iOS 11更新后,当应用程序在后台运行时,蓝色条显示。您可以做的是,在应用程序处于前台时跟踪用户位置。 Check this