Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/96.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 CLRegion隐藏缓冲区?_Ios_Cllocationmanager_Clregion - Fatal编程技术网

Ios CLRegion隐藏缓冲区?

Ios CLRegion隐藏缓冲区?,ios,cllocationmanager,clregion,Ios,Cllocationmanager,Clregion,遇到问题后,我担心这个问题不会有答案,但我希望,无论如何 我已经设置了几个地理围栏(大多数是小的,一个是大的)。我正在使用模拟器,我已经输出了大的CLRegion的半径,它告诉我某个坐标周围的半径是10881.98m,但当我模拟地理位置时,距离同一个坐标11281.86m,它不会触发大区域的locationManager:didExitRegion:delegate方法 虽然大区域不会触发locationManager:didExitRegion:,但我已经确认,小区域每次都会触发委托方法。有没

遇到问题后,我担心这个问题不会有答案,但我希望,无论如何

我已经设置了几个地理围栏(大多数是小的,一个是大的)。我正在使用模拟器,我已经输出了大的
CLRegion
的半径,它告诉我某个坐标周围的半径是10881.98m,但当我模拟地理位置时,距离同一个坐标11281.86m,它不会触发大区域的
locationManager:didExitRegion:
delegate方法

虽然大区域不会触发
locationManager:didExitRegion:
,但我已经确认,小区域每次都会触发委托方法。有没有理由不开火?区域周围是否有距离缓冲区?它在什么地方有记录吗

任何帮助都会很好


编辑:根据测试,我需要将半径减少约45.28%,以便触发geofence。显然,这不是一个很好的解决方案,因为它非常不精确,并且与地理围栏的整个理念背道而驰。

我猜这是模拟器特有的问题。虽然CLRegion在技术上没有缓冲区或填充,但操作系统需要更长的时间来确定您是否已实际离开地理围栏区域。在这么大的围栏上,我想可能需要更长的时间。在较小的区域,100-200米,我看到它需要几分钟的驾驶时间,但很容易在300-400米后触发事件。根据苹果工程师在2013年WWDC上告诉我的,操作系统会花时间确定你离开了。系统也很难确定你是否离开,因为它依赖于基站三角测量和已知的wifi网络。它需要远远超出已知网络,才能安全触发退出事件

我知道这不是一个确切的答案,但希望你能更多地了解它们在引擎盖下是如何工作的,以及苹果对它们的期望是什么。祝你好运