Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 信标区域的iBeacon监控模式接近_Ios_Swift3_Ibeacon_Proximity_Clbeaconregion - Fatal编程技术网

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

Ios 信标区域的iBeacon监控模式接近,ios,swift3,ibeacon,proximity,clbeaconregion,Ios,Swift3,Ibeacon,Proximity,Clbeaconregion,我有一个关于监控模式下iBeacons的问题。如果设备距离信标1-2米,我希望与发送给用户的通知进行交互 以前有一个函数叫做: var radius: CLLocationDistance { get } 它现在已被弃用,所以无法设置信标区域的范围。 因此无法配置内部、外部和未知的不同状态。大多数远程信标都有一个超过60米的区域,这使得这个区域对于你家中的任何互动来说都是巨大的 我所要做的是将我通过AT命令使用的BLE芯片的功耗降低到-4hz。现在跨度约为3-4米,这更好一点,但仍然不是我想

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

以前有一个函数叫做:

 var radius: CLLocationDistance { get }
它现在已被弃用,所以无法设置信标区域的范围。 因此无法配置内部、外部和未知的不同状态。大多数远程信标都有一个超过60米的区域,这使得这个区域对于你家中的任何互动来说都是巨大的

我所要做的是将我通过AT命令使用的BLE芯片的功耗降低到-4hz。现在跨度约为3-4米,这更好一点,但仍然不是我想要的。我试过用锡罐来降低信号强度,但没什么大不了的。甚至连锡箔都绕在可弯曲的芯片上

有人找到指定信标区域的方法吗?使用此功能触发内部区域所需的接近度:

   func locationManager(_ manager: CLLocationManager, didDetermineState state: CLRegionState, for beaconRegion: CLRegion){}
测距模式似乎不能与监控一起工作,所以我不能使用邻近模式,否则这将是一个解决方案

   func update(distance: CLProximity) {}
有几点:

  • 您不能设置信标监视的范围,这是正确的

  • radius
    字段从来都不是为信标监控而设计的,而是为地理围栏而设计的,因此它从来都不能满足您的需要

  • 降低发射机功率通常是不可靠的,因为正如您所看到的,您无法很好地控制触发距离,这会导致触发发生的距离出现较大差异

  • 测距与监控一起工作,但有一些限制,因此这是实现您想要的目标的最佳技术


  • 我在回答这个问题时更详细地描述了这项技术。

    “与对区域的一般理解相反,信标区域不是由任何地理属性定义的,如GPS数据或纬度和经度。相反,它的特征是与信标具有相同的三个值:UUID、MARGE和Minor(请在此处阅读更多关于它们的信息)。因此,区域的物理表示是该区域中所有信标的范围。”()