Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/121.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios CLVisit是如何工作的?_Ios_Mapkit_Core Location_Region Monitoring - Fatal编程技术网

Ios CLVisit是如何工作的?

Ios CLVisit是如何工作的?,ios,mapkit,core-location,region-monitoring,Ios,Mapkit,Core Location,Region Monitoring,我正在开发一款应用程序,该应用程序在很大程度上依赖于监控可能在多个地区/地区的用户访问。我目前正在试验区域监视,它工作得很好,但是,位置回调并不像我希望的那样准确。我看过CLVisit,但是那里的文档没有很好地解释它,特别是它的用法。我认为您误解了CLVisit的概念。实际上,您不需要创建任何访问对象。CLLocationManager委托方法由apple确定的算法触发(有关更多信息,请参阅)。CLLocationManager中对此进行了解释 获取访问过的位置 在iOS中,访问服务为需要有关用

我正在开发一款应用程序,该应用程序在很大程度上依赖于监控可能在多个地区/地区的用户访问。我目前正在试验区域监视,它工作得很好,但是,位置回调并不像我希望的那样准确。我看过CLVisit,但是那里的文档没有很好地解释它,特别是它的用法。

我认为您误解了CLVisit的概念。实际上,您不需要创建任何访问对象。CLLocationManager委托方法由apple确定的算法触发(有关更多信息,请参阅)。CLLocationManager中对此进行了解释

获取访问过的位置 在iOS中,访问服务为需要有关用户访问的有趣地点的位置信息的应用程序提供了重要位置更改服务的替代方案。例如,如果用户在一个位置停留很长一段时间,服务可能会在用户到达该位置时生成一个事件,在用户离开该位置时生成另一个事件。该服务适用于可能已经在使用重大位置更改服务的应用程序,并且希望以更低的功耗实现此目的。您不会使用此服务创建导航应用或依赖常规位置更新的应用

要开始传递与访问相关的事件,请向location manager对象分配一个委托,并调用其startMonitoringVisits方法。当location manager生成访问事件时,它将该信息传递给其代理的locationManager:didVisit:方法。传递给您的代理的事件数据仅包括您开始传递事件后发生的信息。换句话说,如果在用户到达感兴趣的位置后开始传递事件,那么当用户离开该位置时系统传递的事件将不会反映实际到达时间。如果系统终止你的应用程序,当新的访问事件准备好交付时,此服务将重新启动它

也就是说,如果您从中查看这篇文章,它引用了CLVIST(适用于iOS 8.1)的一些当前问题。它本质上是说,如果您想要非常精确的基础设施,就不要使用CLVisit。看起来你做得不错(至少现在是这样)

从iOS 8.1开始,CLVisit就不那么精确了。而开始和结束时间是相同的 通常在一两分钟内准确,线条在图像边缘变得模糊 什么是访问,什么不是访问。躲进角落的咖啡馆一分钟 可能不会引发拜访,但在一个特别长的红绿灯前等待 可以苹果很可能会在未来几年提高访问检测的质量 未来的操作系统升级,但现在你可能想推迟依赖CLVisit 在您的数据非常重要的用例中,有利于您自己的访问检测 尽可能准确


伏都教。2014年,WWDC的核心定位会议对其进行了介绍-