在iOS中获取beacon的唯一标识符?

时间:2014-07-22 12:16:04

标签: ios bluetooth unique uniqueidentifier ibeacon

我有Jaalee信标。我尝试通过各种方式从各种手机连接到它们,包括ibeacon和核心蓝牙,但我总是得到新的标识符。这意味着如果我不移动并尝试iphone1然后我获得set1的信标uuids,然后我尝试iphone2并获得set2,然后我尝试iphone1并再次获得set1。并且没有同时属于set1和set2的元素。

我尝试了其他变量和属性,但似乎所有变量和属性都是常见的,或者在各种iOS设备上都是不同的。如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

解决。对于我的案例(Jaalee beacons),我应该按照以下顺序执行很多操作:

  1. 扫描信标
  2. 存储信标我发现在字典中并请求其服务列表
  3. 如果我获得服务列表,那么我请求特征列表
  4. 如果我得到特征列表,那么我请求值 我需要的特点
  5. 如果之前的所有步骤都成功,那么我就会获得信标 proximityUUID,major和minor都是共同的代表 "唯一标识符"
  6. 所有这些步骤都是异步调用的。另外我应该从字典中删除我发现的与它们断开连接的信标。如果信标仍然连接,我还应检查一些步骤。

    UUID是"太独特"我用于字典中的键,因为信标对象是异步调用的。

答案 1 :(得分:0)

我怀疑你每次看到不同的UUID是因为你使用的是CoreBluetooth,而CoreBluetooth没有给你信标的ProximityUUID - 它为你提供了在iOS中随机生成的蓝牙会话UUID 。 See here for details.

如果你想要一个工具来找出ProximityUUID并且你有一台Mac,你可以尝试ScanBeacon(10美元)或免费Beacon CLI

完全披露:我是Radius Networks的总工程师,负责生产上述产品。