Question about showsBackgroundLocationIndicator behaviour (iOS 11 bug?)

While developing our app that uses CoreLocation and has Always permissions we've stumbled on a weird behaviour -


As stated in the latest documentation, on iOS 11 and above apps that have Always permissions and use location in the background need to use showsBackgroundLocationIndicator if they want the OS to show the blue bar indicator, the issue is that when we test our app on a device that uses old iOS version (10.3.2), the OS doesn't show the blur-bar indicator. The showsBackgroundLocationIndicator is wrapped in a if #available(iOS 11.0, *) { ... } clause othewise it won't compile so that line doesn't get called when running on iOS 10.


I expected the blue bar to be shown as it's the default behaviour prior to iOS 11 (maybe I'm missing something here) but I can't get it to work on iOS 10. If I remove the always permissions from the app it works as expected.


Thanks,

Nimrod

Answered by Engineer in 281668022

Prior to iOS 11, only "When-in-use" authorized apps get the Blue Bar when in the background.

"Always" authoirized apps do not.


The change in iOS 11 is the ability to show the Blue Bar for "Always" authorized apps by use of the showsBackgroundLocationIndicator property.

Accepted Answer

Prior to iOS 11, only "When-in-use" authorized apps get the Blue Bar when in the background.

"Always" authoirized apps do not.


The change in iOS 11 is the ability to show the Blue Bar for "Always" authorized apps by use of the showsBackgroundLocationIndicator property.

> I expected the blue bar to be shown as it's the default behaviour prior to iOS 11


As far as I know, the blue bar has never been shown for apps with Always permission. Only for When In Use.

Thanks for the clarification

Question about showsBackgroundLocationIndicator behaviour (iOS 11 bug?)
 
 
Q