我正在为iOS应用程序使用估算信标,并实现了 CLLocationManager 委托方法 didRangeBeacons ,以确定每个信标的接近程度。
基于 .inmediate,.near,.far 的相似性,我编写了一些功能。
此功能在iOS 11之前运行良好。在iOS 12升级后, .immediate 根本没有被调用。只有 .near和.far 被呼叫。
我进行了很多搜索,但找不到任何解决方案。即使我将iPhone放在信标上方,也可能没有单独检测到 .immediate 的原因是什么?
答案 0 :(得分:0)
检查以查看CLBeacon
精度字段返回什么。这是一个估计的距离,以米为单位,从RSSI和配置到信标中的测量功率校准值得出。基本上,如果精度为0.5米或更小,您将获得.immediate
接近度。而且,如果RSSI(以dBm为单位测量)比配置到信标中的测得功率校准值(也以dBm为测量单位)强得多(负值更少),则您只能获得0.5或更小的精度。
通过将配置在信标中的测量功率校准值调整为一个更大的负数,您也许可以使设备返回一个.immediate
值。
如果您确实发现两者之间存在差异,那么上述建议当然不会帮助它在iOS 11和iOS 12上以相同的方式工作。我很想知道您是否可以使用第二台设备重现这种差异。