正如您已经听说的那样,在iOS11中,只要授权设置为“使用时”,主动接收连续后台更新的应用就会显示双倍高度的蓝色条。如果应用程序使用后台位置应用程序,似乎无法删除蓝色栏。 我的应用程序支持ios 9.0及更高版本,并且我已经添加了info.plist中所需的所有密钥,包括下面的密钥。
<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
<string></string>
但似乎每个人都说在背景位置更新工作时无法删除蓝条。
但是我安装了 UBER ,当应用程序处于后台时,他们设法隐藏了蓝色栏,但是在我的应用程序中,当我将应用程序放在后台时,我可以看到蓝色栏。
当我们在“使用应用程序时”设置权限时,是否有人知道在iOS11中摆脱蓝条的任何解决方案?
答案 0 :(得分:0)
在iOS 11中,当总是授权的应用程序在通过startUpdatingLocation()
主动接收连续背景位置更新时选择显示蓝色条,将显示蓝条。CLLocationManager上有一个新属性,始终授权的应用程序可以用来控制蓝条的可见性。
@property(assign, nonatomic) BOOL showsBackgroundLocationIndicator
使用中的授权应用程序将继续像以前一样显示蓝条。
没有其他服务会打开蓝条。当使用任何其他位置服务的应用程序偶尔会收到更新(例如重要位置更改)时,状态栏上的位置箭头将暂时闪烁,但蓝色栏不会出现。
答案 1 :(得分:0)
尝试使用NSLocationAlwaysUsageDescription
文件中的info.plist
并使用requestAlwaysAuthorization
中的CLLocationManager
。
showsBackgroundLocationIndicator对requestAlwaysAuthorization
非常有用。
答案 2 :(得分:0)
根据apple,在iOS 11更新后,当应用程序在后台运行时,蓝色条显示。您可以做的是,在应用程序处于前台时跟踪用户位置。 Check this