didRangeBeacons 委托调用一次只返回一个信标

Posted

技术标签:

【中文标题】didRangeBeacons 委托调用一次只返回一个信标【英文标题】:didRangeBeacons delegate call returning just one beacon at a time 【发布时间】:2015-03-23 05:25:08 【问题描述】:

我正在开发一个与 iBeacons 相关的应用程序。有 2 个信标,每个信标具有相同的 UUID,但主要/次要值不同。但 - locationManager:didRangeBeacons:inRegion: 委托回调“信标”数组仅包含 1 个信标。或者,这两个设备都有范围,但它们没有一起接收。

我已经通过将 2 部 iPhone 设置为信标发射器来测试我的代码,它似乎工作正常。

有人可以提供一些建议吗? 可能是信标中的一些配置问题吗?或者由于某种原因信标没有同时传输?

【问题讨论】:

我在使用 iPhone 作为信标时遇到了类似的问题,建议您使用实际的 iBeacons 进行检查。 @Ankur 问题出在使用实际信标时。使用 iPhone 可以正常工作。 也许它的充电可能已经结束了,否则我建议你让它每秒发出15个广告。 检查信标的电池状态,正如@ondermerol 所说.. @ondermerol 电池已充满电。没有问题。 【参考方案1】:

这可能是正常的。如果您使用两个不同的区域,您将始终得到不同的回调 locationManager:didRangeBeacons:inRegion 用于每个信标,因为其中一个参数是区域实例。

【讨论】:

抱歉,在问题中我已经明确提到我对两个信标使用相同的 UUID。 抱歉错过了,我会编辑我的答案。不管信标上有多少个不同的 UUID,您是否使用了两个不同的区域? 不,我使用单个区域。我相信这是信标本身的一些配置问题..?

以上是关于didRangeBeacons 委托调用一次只返回一个信标的主要内容,如果未能解决你的问题,请参考以下文章

RestKit / AFNetworking - 一次只发送一个请求(队列)

如何在 Flutter 中一次只在屏幕上显示一个表单域?

即使调用了 didDetermineState,也没有调用 didrangebeacons

iBeacon:更快获取广告包

显示关闭时未调用 didRangeBeacons 方法

CLLocationManager:没有调用 didChangeAuthorization 和 didRangeBeacons