iPhone什么时候在状态栏中显示固定位置图标?

时间:2017-08-19 20:19:39

标签: ios iphone geolocation location location-services

我正在开发一个应用程序,用于订阅用户的重要位置更改,访问更改和区域(地理围栏)更改。但是,我总是在状态栏中看到一个固定的位置图标。查看“隐私 - >位置服务”设置,我发现最近该位置已被我的应用和其他应用使用。

此外,一旦我将应用的位置权限设置为“从不”,状态栏中的位置图标就会消失。

我想知道重要位置更改,访问和区域更改的订阅是否会导致iOS显示Solid Location图标。 我实际上坐在我的房间里半天,因此电话不会改变位置,我不希望任何位置变更事件被解雇。 状态栏中显示固定位置图标时的确切条件是什么?

我读过this question,但我认为这是无关的。

1 个答案:

答案 0 :(得分:1)

我想涵盖你问题的所有方面,我希望你不介意一个长长的描述性答案。

权限级别:

从不 - 用户拒绝该应用程序使用该位置的权限。

在使用中 - 用户已授予应用程序使用权限,请在使用时使用该位置。这意味着当用户正在使用它时,会为应用授予前台和位置访问权限。

始终 - 用户已授予应用程序在后台和前台使用该位置的权限。

主箭头表示位置使用:

电池电量指示器前右上角的箭头可以有两种阴影。

  1. 空心(概述) - 表示手机上有使用地理围栏的应用
  2. 实心箭头 - 表示有一个或多个应用主动使用手机的位置,包括GPS。对于在前台和后台运行的应用程序,将显示实线箭头。
  3. 如果您的应用程序正在使用区域监控,那么它将获得进入和退出事件的委托回调。这通常意味着使用重要的位置更改来跟踪电话。对于区域监视,您无需显式注册即可接收位置更新,因为它们都由底层API处理。

    如果你的手机附近有一个区域,我会连续显示实线箭头,我的观察结果可达3公里。距离是不可预测的,很大程度上取决于手机的地理位置,但我注意到连续使用位置来触发区域,然后一旦区域触发或手机移动很多,操作系统就会切换回基于重大变化的监控进一步。如果不是这种情况,请查看LocationManager委托实施,以确保应用不会更频繁地接收更新。

    另一方面,如果您要注册要通知的位置的重大更改,则只要向应用程序发送位置更新,就会显示实线箭头。

    隐私设置中的纯紫色,纯灰色和勾勒出的紫色箭头显示在应用程序中,如下面的屏幕截图所示。

    solid purple, solid gray and outlined purple arrows