不使用Roximity SDK如何检测Roximity iBeacon?

10

我们正在考虑从Roximity订购一些iBeacons,但我不清楚是否必须使用Roximity SDK才能使用这些Beacons,或者我可以使用核心位置功能?

我问这个问题的原因是,我不想被绑定到他们的SDK,然后不得不总是从他们那里购买Beacon。

我能够获得Roximity Beacon的UUID,但我不知道beacon的“标识符”是什么,所以在这种情况下的代码中: [[CLBeaconRegion alloc] initWithProximityUUID:_uuid identifier:@"COM.TEST.APP"]; 我不知道在COM.TEST.APP的位置应该填什么。


1
我认为你在那个令人困惑的标题中想要表达的是,你希望能够通过Roximity SDK检测到任何制造商的iBeacon,而不仅仅是Roximity iBeacons。是这样吗? - Michael Dautermann
1
嗯,并不一定,但无论如何。目前我可以将我的手机变成信标并且完成所有需要做的事情,而不使用Roximity SDK,所以我认为我根本不需要他们的SDK。问题是我无法使用现有的代码检测到Roximity信标。 - Chris
@Chris,你是怎么获取邻近设备的UUID的? - Joel Balmer
1
原来所有的Roximity UUID都是以下之一:8deefbb9-f738-4297-8040-96668bb44281,8DEEFBB9-F738-4297-8040-96668BB44281。 - Joel Balmer
主版本和次版本怎么样?我能够进行配置吗?怎么做呢?谢谢。 - Bagusflyer
我认为您无法配置信标的major、minor或UUID。您只需找到现有的major、minor和UUID,然后让您的应用程序搜索这些值即可。 - Chris
2个回答

8

昨天我收到了一些 Roximity iBeacon,并且没有使用 Roximity SDK 就成功地使用了它们。我们的 Beacon 具有以下 UUID:

8DEEFBB9-F738-4297-8040-96668BB44281

我们通过扫描我们编写的 Mac 应用程序找到了这个 UUID,该应用程序可以查找本地区域内的任何 Beacon。只需使用该 UUID 创建一个 CLBeaconRegion 并开始搜索,它们就应该出现了。确保您已经从电池中取出了塑料隔离器选项卡。

正如 @davidgyoung 在下面提到的那样,identifier 参数不会影响您是否能够检测到 Beacon。


1
请注意,这是我们信标使用的相同UUID,我猜测所有Roximity信标都具有相同的UUID,只有主/次要值不同。 - Chris
1
顺便说一下,James(还有@Chris),我的应用程序拒绝使用你们上面的UUID字符串检测我的Roximity信标,但是这个可以:8deefbb9-f738-4297-8040-96668bb44281。我已经为此苦恼了很长时间...祝大家好运! - Joel Balmer

1
在这行代码中提到的标识符并不影响检测 iBeacon、Roximity 或其他设备的能力。
[[CLBeaconRegion alloc] initWithProximityUUID:_uuid identifier:@"COM.TEST.APP"];

"COM.TEST.APP"标识符仅为应用程序员提供参考字符串。在构建第二个区域时使用相同的字符串,即告诉iOS这些是完全相同的区域。这对于取消监视或范围非常有用。使用CoreLocation API替换一个区域为另一个区域也很有用。
只要您保持一致,该字符串可以是任何您想要的内容。
至于更大的问题,如果您可以独立于他们的SDK使用他们的信标,请尝试使用我免费的 Locate for iBeacon应用在AppStore中检测他们的信标。您必须将Roximity UUID添加到配置列表中,但是一旦完成,如果该应用能够找到它,则表示它与标准CoreLocation iBeacon API兼容。"

我昨天确实使用了那个应用。刚刚又试了一下,它没有检测到这些信标。要么我没有它们的真实UUID,要么有其他东西阻止了检测。 - Chris
1
@Chris,你是怎么找到UUID的?如果你不确定UUID,你可以使用Radius Networks的两个其他工具来确保(假设它作为标准iBeacon)——ScanBeacon(适用于Mac)或Android 4.3的Locate for iBeacon。这些工具之所以有效,是因为OSX Mavericks和Android都允许您查看任何iBeacon,而不管UUID如何。 - davidgyoung
也许我使用了错误的UUID。我使用了一个iOS应用程序来查找它们。在运行ScanBeacon之前,我必须升级到Mavericks。 - Chris
明白了。我之前使用的“UUIDs”实际上是“Identifier”值...不确定那是什么意思。但我用ScanBeacon获取了UUID并得到了UUIDs,它奏效了。谢谢。 - Chris

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接