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