我正在使用swift 3.0实现IOS应用程序,它可以监视附近的信标。我有一个与didRangeBeacon函数有关的问题,详情再现了以下步骤:
1-申请已进入信标区域
2-信标已关闭
3-在接下来的10秒内,仍然会调用didRangeBeacon函数,并且响应仍然有一个信标对象。
所以我无法识别beacon立即关闭。我怎么能立刻识别出信标?
答案 0 :(得分:2)
在iBeacon的情况下,该区域由一个或多个信标的范围定义。与常规地理围栏相比,这允许更多的粒度和精度 - 后者基于来自蜂窝塔,WiFi和GPS的信号混合。信标地理围栏也更具响应性:“输入”事件通常需要几秒钟才能触发,“退出”事件最多可达30秒。 (根据CLLocationManager的文档,常规地理围栏平均需要“3到5分钟”。)
测试“输入”事件涉及确保您在该区域“之外”。启用“翻转睡眠”可以轻松模拟超出范围。 “Enter”事件需要几秒才能触发,而“退出”事件最多需要30秒。
区域监控非常慢,您可以将其用于更一般的通知以告知您。您可以使用此信号强度来确定您是否不再看到信标(CoreLocation在消失后几秒钟仍然会“看到”信标)。