我正在开发一个应用程序,用于订阅用户的重要位置更改,访问更改和区域(地理围栏)更改。但是,我总是在状态栏中看到一个固定的位置图标。查看“隐私 - >位置服务”设置,我发现最近该位置已被我的应用和其他应用使用。
此外,一旦我将应用的位置权限设置为“从不”,状态栏中的位置图标就会消失。
我想知道重要位置更改,访问和区域更改的订阅是否会导致iOS显示Solid Location图标。 我实际上坐在我的房间里半天,因此电话不会改变位置,我不希望任何位置变更事件被解雇。 状态栏中显示固定位置图标时的确切条件是什么?
我读过this question,但我认为这是无关的。
答案 0 :(得分:1)
我想涵盖你问题的所有方面,我希望你不介意一个长长的描述性答案。
权限级别:
从不 - 用户拒绝该应用程序使用该位置的权限。
在使用中 - 用户已授予应用程序使用权限,请在使用时使用该位置。这意味着当用户正在使用它时,会为应用授予前台和位置访问权限。
始终 - 用户已授予应用程序在后台和前台使用该位置的权限。
主箭头表示位置使用:
电池电量指示器前右上角的箭头可以有两种阴影。
如果您的应用程序正在使用区域监控,那么它将获得进入和退出事件的委托回调。这通常意味着使用重要的位置更改来跟踪电话。对于区域监视,您无需显式注册即可接收位置更新,因为它们都由底层API处理。
如果你的手机附近有一个区域,我会连续显示实线箭头,我的观察结果可达3公里。距离是不可预测的,很大程度上取决于手机的地理位置,但我注意到连续使用位置来触发区域,然后一旦区域触发或手机移动很多,操作系统就会切换回基于重大变化的监控进一步。如果不是这种情况,请查看LocationManager委托实施,以确保应用不会更频繁地接收更新。
另一方面,如果您要注册要通知的位置的重大更改,则只要向应用程序发送位置更新,就会显示实线箭头。
隐私设置中的纯紫色,纯灰色和勾勒出的紫色箭头显示在应用程序中,如下面的屏幕截图所示。