didRangeBeacons被称为甚至灯塔关闭

时间:2017-02-17 07:52:41

标签: ios swift3 ibeacon clregion

我正在使用swift 3.0实现IOS应用程序,它可以监视附近的信标。我有一个与didRangeBeacon函数有关的问题,详情再现了以下步骤:

1-申请已进入信标区域

2-信标已关闭

3-在接下来的10秒内,仍然会调用didRangeBeacon函数,并且响应仍然有一个信标对象。

所以我无法识别beacon立即关闭。我怎么能立刻识别出信标?

1 个答案:

答案 0 :(得分:2)

在iBeacon的情况下,该区域由一个或多个信标的范围定义。与常规地理围栏相比,这允许更多的粒度和精度 - 后者基于来自蜂窝塔,WiFi和GPS的信号混合。信标地理围栏也更具响应性:“输入”事件通常需要几秒钟才能触发,“退出”事件最多可达30秒。 (根据CLLocationManager的文档,常规地理围栏平均需要“3到5分钟”。)

测试“输入”事件涉及确保您在该区域“之外”。启用“翻转睡眠”可以轻松模拟超出范围。 “Enter”事件需要几秒才能触发,而“退出”事件最多需要30秒。

区域监控非常慢,您可以将其用于更一般的通知以告知您。您可以使用此信号强度来确定您是否不再看到信标(CoreLocation在消失后几秒钟仍然会“看到”信标)。