Swift iOS:在信标处于睡眠模式时检测信标?

Swift iOS:在信标处于睡眠模式时检测信标?,swift,bluetooth,cllocationmanager,beacon,cbcentralmanager,Swift,Bluetooth,Cllocationmanager,Beacon,Cbcentralmanager,我读过几篇文章,所有的文章都谈到了当你在射程内,如果不知道它的UUID,你就看不到信标时,如何检测信标CBCentralManagerDelegate仅允许您在信标处于活动状态时检测信标。当信标处于睡眠模式但仍在广播时,有没有办法检测到它?对于蓝牙信标而言,“睡眠模式”不是一个标准概念。一些信标制造商拥有专有解决方案,可以在其硬件信标静止一段时间后改变其行为。通常,这会使此类信标完全停止广告,直到再次检测到运动并恢复广告 三种可能性: 如果信标硬件制造商实施了如上所述的睡眠模式,则信标根本不会在

我读过几篇文章,所有的文章都谈到了当你在射程内,如果不知道它的UUID,你就看不到信标时,如何检测信标
CBCentralManagerDelegate
仅允许您在信标处于活动状态时检测信标。当信标处于睡眠模式但仍在广播时,有没有办法检测到它?

对于蓝牙信标而言,“睡眠模式”不是一个标准概念。一些信标制造商拥有专有解决方案,可以在其硬件信标静止一段时间后改变其行为。通常,这会使此类信标完全停止广告,直到再次检测到运动并恢复广告

三种可能性:

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

  • 如果信标硬件制造商以另一种方式实现了睡眠模式,使得其仍然播发相同的数据包(可能以较慢的间隔?),那么它将使用与在其处于活动状态时用于检测它相同的API进行检测

  • 如果信标硬件制造商实现了睡眠模式,从而在睡眠模式中播发不同的数据包,则可能需要不同的API来检测。但如果没有制造商的文件,就无法知道如何做到这一点


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

    当您说“睡眠模式”时,您是指iOS设备处于“睡眠模式”还是信标处于“睡眠模式”我刚刚编辑了标题谢谢。我指的是灯塔。它在睡眠模式下发送信号。当您设置UUID时,它实际上在Android上工作,但在iOS上不工作。信标的iOS文档没有指定设备状态。文档在这里:是的,iOS CoreLocation信标API确实没有信标睡眠模式的概念。这是我在回答中试图表达的要点。你说“它实际上在Android上工作”。你认为它在安卓系统上工作的准确程度如何?你有没有编写代码来实现这一点?如果是,你写了什么?(请出示)我的一个同事写了代码。我只知道他在为信标设置UUID后才检测到它,因为信标一直在广播。但我无法像安卓那样在iOS上安装该设备。