即使信标关闭,didRangeBeacons 也会被调用
didRangeBeacons is called even beacon is off
我正在使用 swift 3.0 实现 IOS 应用程序,它可以监控附近的信标。我有一个与 didRangeBeacon 函数相关的问题,详情重现以下步骤:
1- 应用程序已进入信标区域
2- 信标已关闭
3- 在接下来的 10 秒内,didRangeBeacon 函数仍然被调用并且响应仍然有一个信标对象。
所以我无法立即识别出信标已关闭。如何立即识别信标已关闭?
在 iBeacon 的情况下,区域由一个或多个信标的范围定义。这比常规地理围栏具有更高的粒度和精度——后者基于来自手机信号塔、WiFi 和 GPS 的混合信号。信标地理围栏的响应速度也更快:“进入”事件通常需要几秒钟才能触发,“退出”事件最多需要 30 秒。 (根据 CLLocationManager 的文档,常规地理围栏平均需要“3 到 5 分钟”。)
测试“进入”事件涉及确保您在“区域外”。启用“翻转睡眠”可以轻松模拟超出范围的情况。 “进入”事件最多需要几秒钟才能触发,而“退出”事件最多需要 30 秒。
区域监控速度很慢,您可以使用它进行更一般的通知,让您知道。您可以使用此信号强度来决定您是否不再看到信标(CoreLocation 往往会在信标消失几秒后仍然 "see" 信标)。
我正在使用 swift 3.0 实现 IOS 应用程序,它可以监控附近的信标。我有一个与 didRangeBeacon 函数相关的问题,详情重现以下步骤:
1- 应用程序已进入信标区域
2- 信标已关闭
3- 在接下来的 10 秒内,didRangeBeacon 函数仍然被调用并且响应仍然有一个信标对象。
所以我无法立即识别出信标已关闭。如何立即识别信标已关闭?
在 iBeacon 的情况下,区域由一个或多个信标的范围定义。这比常规地理围栏具有更高的粒度和精度——后者基于来自手机信号塔、WiFi 和 GPS 的混合信号。信标地理围栏的响应速度也更快:“进入”事件通常需要几秒钟才能触发,“退出”事件最多需要 30 秒。 (根据 CLLocationManager 的文档,常规地理围栏平均需要“3 到 5 分钟”。)
测试“进入”事件涉及确保您在“区域外”。启用“翻转睡眠”可以轻松模拟超出范围的情况。 “进入”事件最多需要几秒钟才能触发,而“退出”事件最多需要 30 秒。
区域监控速度很慢,您可以使用它进行更一般的通知,让您知道。您可以使用此信号强度来决定您是否不再看到信标(CoreLocation 往往会在信标消失几秒后仍然 "see" 信标)。