定位服务:“始终”模式下的“蓝色栏”

时间:2018-12-05 15:11:13

标签: ios swift core-location privacy

据我到目前为止的查找/搜索和实施。当用户已授予“始终”使用位置服务时,蓝色远不应出现。但是我的一位客户在他的iOS 12手机上看到了蓝条。谷歌地图应用程序也发生了这种情况,但是我无法在我的设备上复制它。

蓝色条消息说:“ Google地图正在积极使用您的位置”

是否可能,是否有其他原因导致蓝色条出现?


弹出警告:

基于Tawk先生和Roee先生给出的答案,这使我想知道是否通过将showsBackgroundLocationIndicator设置为true来显示蓝色条,然后还会将弹出警报显示为用户?说:“ ABC应用正在后台访问您的位置。”如下所述,如此处所述:About privacy and Location Services in iOS 8 and later

background location use alert

2 个答案:

答案 0 :(得分:2)

我将确保用户确实授予了应用程序“始终授权”,并且您没有设置了标记showsBackgroundLocationIndicator。

有关此信息,请参阅Apple文档:

  

从iOS 11开始,应用程序可以更好地控制其应用程序的位置服务状态栏(蓝色栏)的外观。

     

由用户在使用中授权的应用   (无论是否要求授权),都会自动获得   显示的蓝色条。如果应用程式无法选择退出蓝栏   仅在用户使用时获得授权。

     

另一方面,获得“始终”授权的应用将获得   根据工具栏的新属性显示的蓝色条   CLLocationManager对象。

     

@property(赋值,非原子)BOOL showsBackgroundLocationIndicator;

     

启用了“连续后台定位”会话的应用,   并且已获得“始终授权”,蓝色条只会显示   当showsBackgroundLocationIndicator属性为YES时。

     

应用程序可以将showsBackgroundLocationIndicator属性切换为   随时更改蓝色条的可见性。

在那些链接上:

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

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

您的应用应向用户询问使用位置服务的权限 request permission

用于始终/在使用该应用程序时。 如果用户同意始终允许,则iOS可能会提醒他该应用程序可以使用其位置。

请参阅本部分

  

即使不使用该应用程序,其他应用程序也会要求您访问您的位置。当您允许某个应用始终使用您的位置信息时,iOS会在您在后台使用您的位置信息后提醒您哪些应用可以使用您的位置信息。

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

这通常发生一次,请在其论坛上查看Apple对问题的回答:

  

应用获得“始终”授权并启动后几天   在后台使用位置服务,系统会要求用户   再次确认他们仍然希望该应用跟踪他们的   位置。

     

没有开发人员可以采取的行动来避免这种情况   确认应用程序是否正在获取用户在   背景。

这个线程Removing the background location alerts in iOS?

答案 1 :(得分:1)

iOS 11中的Apple删除了为使用iPhone位置的应用程序显示的蓝色横幅。通过属性将显示用于背景位置使用的蓝色条留给应用程序开发人员。

open var showsBackgroundLocationIndicator: Bool

来自Apple:

此属性仅影响始终获得授权的应用。当此类应用移至后台时,系统使用此属性来确定是否更改状态栏外观以指示正在使用位置服务。显示修改后的状态栏为用户提供了一种快速返回到您的应用程序的方法。此属性的默认值为NO。

对于具有使用中授权的应用,当应用在后台使用位置服务时,系统始终会更改状态栏外观。