定位服务:'Blue Bar' 在 'Always' 模式期间

Location Services: 'Blue Bar' during 'Always' Mode

至于我 looked/searched 并实施至今。当用户已授予 'Always' 使用位置服务时,不应出现蓝色远方。但是我的一位客户在他的 iOS 12 phone 上出现了蓝色条。 google 地图应用程序也发生在他身上,但我无法在我的设备上复制它。

蓝条消息说:"Google maps is actively using your location"

请问有没有其他原因导致出现蓝条?


弹出警报:

根据 Tawk 先生和 Roee 先生的回答,我想知道如果将 showsBackgroundLocationIndicator 设置为 true 是否会显示蓝色条,那么弹出警报也会显示给用户?说:"ABC app is accessing your location in the background." 如下所示,如此处所述:关于 iOS 8 及更高版本中的隐私和定位服务

我会确保用户确实提供了该应用 'Always authorization',并且您没有设置标志 showsBackgroundLocationIndicator。

请参阅有关此的 Apple 文档:

Starting with iOS 11, apps have more control over the appearance of the Location Services Status Bar (Blue Bar) for their apps.

Apps which are given When-in-use authorization by the users (regardless of the authorization asked for), will automatically get the Blue Bar displayed. Apps cannot opt out of the Blue Bar if they are only given When-in-use authorization by the users.

Apps which are given Always authorization, on the other hand, will get the Blue Bar displayed based on a new property of the CLLocationManager object.

@property(assign, nonatomic) BOOL showsBackgroundLocationIndicator;

Apps which have their Continuous Background Location session active, and have obtained Always authorization the Blue Bar will be shown only when the showsBackgroundLocationIndicator property is YES.

An app can toggle the showsBackgroundLocationIndicator property to change the visibility of the blue bar at any time.

在这些链接:

  1. https://developer.apple.com/library/archive/qa/qa1965/_index.html
  2. https://developer.apple.com/documentation/corelocation/cllocationmanager/2923541-showsbackgroundlocationindicator

编辑: 关于新问题 - 弹出警报:

您的应用程序应征得用户许可才能使用定位服务

always/while 使用该应用程序。 如果用户同意始终允许,iOS 可能会提醒他该应用可以使用他的位置。

看这部分

Other apps will ask for access to your location even when the app isn't in use. When you allow an app to always use your location, iOS will remind you which apps are able to use your location after an app uses your location in the background.

https://support.apple.com/en-il/HT203033

这通常会发生一次,请参阅 Apple 在他们的论坛上对问题的回答:

A few days after the app obtains the "always" authorization and starts using location services in the background, the user will be asked to confirm once again that they still want this app to track their location in the background.

There is no developer action that can be taken to avoid this confirmation if the app is obtaining users' location in the background.

还有这个话题

Apple 在 iOS 11 中删除了为使用 iPhone 位置的应用程序显示的蓝色横幅。通过 属性.

留给应用程序开发人员显示用于后台位置使用的蓝色条
open var showsBackgroundLocationIndicator: Bool

来自苹果:

此 属性 仅影响始终获得授权的应用。当此类应用程序移至后台时,系统会使用此 属性 来确定是否更改状态栏外观以指示正在使用位置服务。显示修改后的状态栏可以让用户快速 return 到您的应用程序。这个属性的默认值为NO.

对于使用时授权的应用,当应用在后台使用位置服务时,系统总是改变状态栏外观。