获取Major/Minor值'without'监控?

Obtaining Major/Minor values 'without' monitoring?

我知道监控用于在应用程序进入特定区域时通知它。 目标是简单地设置一个后端,将 +1 添加到代表智能设备进入区域的次数的计数值。但我认为我还不了解监控的工作方式。

如果我设置只监控某个UUID值,应用程序将在任何具有相同UUID的iBeacon的任何区域收到通知。有没有办法在不特别要求/设置区域的情况下也获得区域的主要和次要值?这应该是可能的,因为数据有效载荷还包含 Major 和 Minor 值?!或者我是否需要指定任何已创建的信标及其各自的 UUID、Major 和 Minor 以进行监视以跟踪和增加计数值?

我改一下:是否可以在进入任何区域时获取 UUID、Major 和 Minor 值,而无需设置 CLLocationManager 或一般监控(对于 Major 和 Minor),因为负载包含该信息?阅读此处的类似主题表明,在这种情况下,范围开始发挥作用。这让我更加困惑,因为我认为测距仅使用数据有效载荷内的测量功率来确定近似距离?

Is it possible to obtain UUID, Major and Minor value when entering any region without having to set up CLLocationManager or monitoring in generall (for Major and Minor) as the payload contains that information?

没有。 locationManager:didEnterRegion: 将使用 CLRegion 对象调用,该对象将是包含 UUID、主要和次要编号的 CLBeaconRegion,但那些 不会 对应例如,导致进入事件的特定 beacon 的标识符,只是到您已经提供的 region。 (更具体地说,如果您开始仅基于 UUID 进行监视,例如,您将得到一个 CLBeaconRegion,其中 majorminor 设置为 nil,未填充通过引起事件的信标的值。)

你的推理没有错——设备确实有你感兴趣的信息——iOS只是没有在应用程序级别提供它。

Reading through similar topics on here suggested that in this case ranging comes into play.

是的,您可以在进入区域时(或之前)开始测距,此时您将拥有该区域中可见的信标的完整标识符列表。有 a good answer covering this in a different question.