我读了几篇文章,其中都谈到了当你在射程内时检测信标,如果你不知道信标的UUID,就无法看到信标。CBCentralManagerDelegate
仅允许您在信标处于活动状态时检测信标。当它处于睡眠模式但仍在广播时,有什么方法可以检测到信标吗?
"睡眠模式"不是蓝牙信标的标准概念一些信标制造商有专有的解决方案,当硬件信标在一段时间内静止时,可以改变其行为。通常,这使得这样的信标完全停止广告,直到再次检测到运动,并且广告恢复。
三种可能性:
-
如果信标硬件制造商已经实现了如上所述的睡眠模式,则信标根本不会在睡眠模式下进行广告,并且不可能通过iOS上的任何API进行检测。
-
如果信标硬件制造商以另一种方式实现了睡眠模式,使得它仍然通告相同的数据包(可能以较慢的间隔?(,那么当它处于活动状态时,可以使用用于检测它的相同API来检测它。
-
如果信标硬件制造商已经实现了睡眠模式,使得其在睡眠模式中通告不同的分组,则可能需要不同的API来检测。但如果没有制造商的文件,就无法知道如何做到这一点。
底线:您必须查阅信标制造商提供的文档以了解睡眠模式是如何实现的(以上1-3(,并知道如何检测何时处于该模式。