未显示背景上的iOS位置状态消息

时间:2015-11-15 18:13:23

标签: ios background statusbar

我已经实现了像waze这样的CLLocation以在后台模式下获取用户位置,我想显示像“incall”这样的栏显示我正在获取该位置。

我不知道为什么酒吧没有显示,我在info.plist这个

  

密钥:NSLocationAlwaysUsageDescription。

2 个答案:

答案 0 :(得分:1)

我假设您正在谈论状态栏下方显示的蓝色“导航”栏。

只有当应用程序用于导航时才会出现。只是在后台获取位置的应用程序不会显示蓝色条(或任何其他颜色条)。

答案 1 :(得分:0)

如果您requestAlwaysAuthorization该栏不会出现(因为您可以随时使用位置服务)。只有当您requestWhenInUseAuthorization并且应用程序要求在后台继续接收位置更新时,才会显示该栏。

请参阅requestWhenInUseAuthorization的文档(重点已添加):

  

如果用户向您的应用授予“使用中”授权,您的应用   可以启动大多数(但不是全部)位置服务   前景。 (应用不能使用任何自动重启的服务   应用程序,例如区域监控或重要的位置更改   service。)在前台启动时,服务继续运行   如果您的应用已启用后台位置更新,则为后台   Xcode项目的Capabilities选项卡。尝试开始位置   您的应用在后台运行时的服务将失败。的的   系统在状态栏中显示位置服务指示符   您的应用通过有效的位置服务移至后台

关于"位置服务指标" requestAlwaysAuthorization的文档中明显缺少。