繁体   English   中英

iOS位置服务访问和系统频繁位置

[英]iOS Location Services visits and system Frequent Location

我注意到iPhone上的Frequent Location似乎比监控iOS Visits的应用程序( https://developer.apple.com/reference/corelocation/clvisit )少得多。

可以通过设置 - >隐私 - >位置服务 - >系统服务 - >常用位置在手机上查看iPhone上的频繁位置。

我想知道来自CLLocationManager的访问监控服务是否与iOS常用位置相同,或者它是否在Apple使用的不同系统上。 如果Apple使用相同的服务,为什么它对电池没有任何影响?

这两个API用于不同目的。

CLLocationManager API

此API旨在根据您的应用指示的要求为您的应用提供位置信息。 您可以在应用收到位置数据时选择一些特定条件,并且您的应用将继续接收该数据,直到不再需要它为止。 举例来说,优步应用程序会在打开应用程序时请求位置数据,以便您可以安排乘车,并在您的乘车接近时继续请求它。

频繁的位置 / CLVisit API

相比之下,Frequent Locations的不同之处在于它不会始终向您的应用报告位置数据。 相反,应用程序可以指示他们想要知道用户是否访问了特定位置,如果用户确实如此,那么iOS将通知应用程序。 地点往往有些粗糙。 这将用于StarBucks应用程序的示例,当您到达StarBucks附近时,该应用程序可能会告诉您附近的商店,并限制时间销售以鼓励您停止。对于其中许多应用程序,用户通常会选择他们将标记为“最喜欢的”位置/商店的预定义位置列表,应用程序将使用该数据通知用户。

电池寿命

由于这两种API的运行方式不同,电池使用的差异变得明显。 使用CLLocationManager,我们开始并连续向应用程序报告准确/粗略的位置。 除了蜂窝三角测量和wifi热点位置数据之外,这里通常还使用GPS。

但是对于CLVisit,我们通常仅在首次访问(或离开)所需位置时通知应用程序一次。 由于这个iOS不需要唤醒应用程序并进行任何额外的处理,如果当前位置没有大致或更远离我们感兴趣的报告位置。 使用蜂窝三角测量和wifi热点位置数据,设备可以获得粗略的位置。 此级别的位置细节通常不需要GPS。 由于您的蜂窝无线电和wifi通常“始终开启”,因此不会消耗任何额外的功率来使用这两种方法进行位置检测。

但它如何使用蜂窝和wifi来确定我在哪里?

解释您的设备如何从蜂窝或wifi信号中获取它的位置超出了这个问题的范围。 但这里有一篇很好的文章,解释了如何得出这些信息。 谷歌如何知道我在哪里? - security.stackexchange.com

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM