信标区域的iBeacon监控模式接近度

时间:2017-06-26 11:10:05

标签: ios swift3 ibeacon proximity clbeaconregion

我对iBeacons处于监控模式时有疑问。如果设备距离信标1-2米,我希望与发送给用户的通知进行交互。

曾经有一个叫做的函数:

 var radius: CLLocationDistance { get }

现在已弃用,因此无法设置信标区域的范围。 因此无法配置内部,外部,未知的不同状态。大多数远程信标都有超过60米的区域,这使得该地区对您家中的任何互动都很大。

我必须做的是将通过AT命令使用的BLE芯片的功率降低到-4hz。现在跨度大约3-4米,这仍然不是我想要的更好。我已经尝试过锡罐试图降低信号,但它并没有产生太大的影响。甚至在BLE芯片周围镀锡箔。

有没有人找到指定Beacon区域的方法?需要通过此功能触发内部区域:

   func locationManager(_ manager: CLLocationManager, didDetermineState state: CLRegionState, for beaconRegion: CLRegion){}

测距模式似乎与监控无关,因此我不能使用接近,否则这将是一个解决方案。

   func update(distance: CLProximity) {}

1 个答案:

答案 0 :(得分:0)

几点:

  1. 您无法设置信标监控的范围。

  2. radius字段从未设计用于信标监控,而是用于地理围栏,因此从未有效地执行您想要的操作。

  3. 降低发射机功率通常是不可靠的,因为如您所见,您无法很好地控制触发距离,并且导致触发发生的距离存在很大差异。

  4. Ranging 确实与监控一起工作,但存在一些限制,因此这是实现目标的最佳方法。

  5. 我在对related question的回答中更详细地描述了这项技术。