更改iBeacon的UUID,Major和Minor值

时间:2015-01-13 08:18:39

标签: ibeacon

据我了解,可以使用制造商提供的SDK更改iBeacon的UUID以及Major和Minor值。我不明白为什么你想要改变这些值,因为你可以非常肯定Major和Minor值的组合是唯一的。这样您就可以简单地检测范围内的所有iBeacons并选择那些值所需的那些,而不是扫描具有您之前设置的Major值的iBeacons。你会说这种技术有什么缺点吗?它是否仍允许您在后台检测iBeacons?

1 个答案:

答案 0 :(得分:2)

制造商通常会发运具有相同标识符的信标。除非另有要求,Radius Networks例如发送带有标识符的所有信标:

ProximityUUID:2F234454-CF6D-4A0F-ADF2-F4911BA9FFA6 专业:1 轻微:1

如果您有多个这样的信标,并且想要在检测到每个信标时发生独特的操作,则需要更改其标识符,以使每个信标都是唯一的。

更改标识符还有其他几个原因:

  1. 避免与可能使用相同标识符的其他信标所有者发生冲突。您不希望自己的应用响应,就好像它位于灯塔附近,当它位于另一个拥有相同标识符的信标附近完全不同的位置时。

  2. 使用信标区域设计用于背景触发的信标标识符的层次结构。这在iOS上尤其重要,因为iOS可以将您的应用启动到后台。通过将您的信标标识符和应用程序设计在一起,您可以设置多个区域,以触发您的应用程序启动到后台并根据已知的标识符方案执行不同的操作。

  3. 在iOS上,您只能检测UUID为您所知的信标,每个应用的最大限制为20 UUID。如果您需要检测超过20个信标,并且每个信标具有不同的UUID,则无法工作。