在没有监控的情况下获取主要/次要值?
Posted
技术标签:
【中文标题】在没有监控的情况下获取主要/次要值?【英文标题】:Obtaining Major/Minor values 'without' monitoring? 【发布时间】:2015-09-01 21:57:00 【问题描述】:我知道监控用于在应用程序进入特定区域时通知它。 目标是简单地设置一个后端,将 +1 添加到表示智能设备进入区域的次数的计数值。但我认为我还不了解监控的工作方式。
如果我设置只监视某个 UUID 值,应用程序将在任何 iBeacon 的任何区域以它输入的相同 UUID 得到通知。有没有办法在没有特别要求/设置它们的情况下也获得区域的主要和次要值?这应该是可能的,因为数据有效负载还包含主要和次要值?!或者我是否需要指定任何创建的信标及其各自的 UUID、主要和次要进行监控,以便跟踪和增加计数值?
让我重述一下:是否可以在进入任何区域时获得 UUID、Major 和 Minor 值,而无需设置 CLLocationManager 或进行一般监控(针对主要和次要),因为有效负载包含该信息?阅读此处的类似主题表明,在这种情况下,测距开始发挥作用。这让我更加困惑,因为我认为测距仅使用数据有效载荷内的测量功率来确定近似距离?
【问题讨论】:
【参考方案1】:是否可以在输入任意值时获得 UUID、Major 和 Minor 值? 区域无需设置 CLLocationManager 或监控 generall(用于主要和次要),因为有效负载包含 信息?
没有。 locationManager:didEnterRegion:
将使用 CLRegion
对象调用,该对象将是一个包含 UUID、主要和次要数字的 CLBeaconRegion
,但这些 不会 对应于特定的标识符beacon 导致进入事件,只是到您已经提供的 region。 (更具体地说,例如,如果您开始仅基于 UUID 进行监控,您将获得一个 CLBeaconRegion
,其中 major
和 minor
设置为 nil
,而不是由导致事件。)
您的推理没有任何问题 — 设备确实包含您感兴趣的信息 — ios 只是无法在应用程序级别提供这些信息。
通读此处的类似主题表明在这种情况下 测距开始发挥作用。
是的,您可以在进入区域时(或之前)开始测距,此时您将获得该区域中可见的信标的完整标识符列表。 a different question中有a good answer covering this。
【讨论】:
以上是关于在没有监控的情况下获取主要/次要值?的主要内容,如果未能解决你的问题,请参考以下文章
iBeacon 监控具有相同 UUID 和不同主要、次要的多个信标
如何在 didExitRegion 中获取信标主要和次要 id
在sql server中清空了数据记录但是对应的数据库文件的大小没有变小