iOS:当信标处于睡眠模式时检测到信标



我读了几篇文章,其中都谈到了当你在射程内时检测信标,如果你不知道信标的UUID,就无法看到信标。CBCentralManagerDelegate仅允许您在信标处于活动状态时检测信标。当它处于睡眠模式但仍在广播时,有什么方法可以检测到信标吗?

"睡眠模式"不是蓝牙信标的标准概念一些信标制造商有专有的解决方案,当硬件信标在一段时间内静止时,可以改变其行为。通常,这使得这样的信标完全停止广告,直到再次检测到运动,并且广告恢复。

三种可能性:

  1. 如果信标硬件制造商已经实现了如上所述的睡眠模式,则信标根本不会在睡眠模式下进行广告,并且不可能通过iOS上的任何API进行检测。

  2. 如果信标硬件制造商以另一种方式实现了睡眠模式,使得它仍然通告相同的数据包(可能以较慢的间隔?(,那么当它处于活动状态时,可以使用用于检测它的相同API来检测它。

  3. 如果信标硬件制造商已经实现了睡眠模式,使得其在睡眠模式中通告不同的分组,则可能需要不同的API来检测。但如果没有制造商的文件,就无法知道如何做到这一点。

底线:您必须查阅信标制造商提供的文档以了解睡眠模式是如何实现的(以上1-3(,并知道如何检测何时处于该模式。

最新更新