是否可以使用ibeacon API访问所有信标?

时间:2013-12-16 09:37:17

标签: ios7 core-location uuid ibeacon

我接近完成使用具有UUID的Estimote信标的应用程序 在我的项目中硬编码,列出了使用ibeacon API的所有Estimote信标,但是当我试图使用设备UUID将我自己的设备作为信标发射器时,这与estimote UUID不同,我无法找到它,因为我在代码中提到的UUID是Estimote的。

所以我的问题是,有什么方法可以找到我可以用苹果的ibeacon API跟踪的所有信标(Ex-Estimote Beacons,Kontakt Beacons,Blue cat Beacons和ibeacon硬件)?

使用相同的代码我想跟踪所有信标而不对任何UUID进行硬编码?

有可能吗?

4 个答案:

答案 0 :(得分:1)

不,您必须告诉CoreLocation您希望应用看到的任何iBeacon的ProximityUUID,否则它不会告诉您。见http://developer.radiusnetworks.com/2013/10/21/corebluetooth-doesnt-let-you-see-ibeacons.html

这并不意味着您需要对应用中的每个UUID进行硬编码。这样做会要求您在每次添加带有其他UUID的iBeacon时重新提交应用程序以进行审批。

另一种方法是使用Web服务为您提供要搜索的UUID列表。您可以自己构建,也可以使用我公司为您执行此操作的ProximityKit服务。

答案 1 :(得分:1)

不,Apple已经限制发现未知的Ibeacon。你找不到任何未知的灯塔。虽然有一些黑客没有那么有效。而且一个应用程序区域可以包含的Udid不能超过一个。你可以做的任何一个是询问用户他想要监视的Udid然后应用程序可以为它调整范围。 对不起,如果有错误的拼写..

答案 2 :(得分:0)

我为我的公司编写了一个测试平台应用程序,它有一系列UUID。它使用registerDefaults调用将一组默认UUID保存到用户默认值。

然后,用户可以随意创建新的UUID,并与其他设备共享。 (我使用UIActivity,因此您可以通过AirDrop,消息,电子邮件等进行分享。)

它允许您将UUID作为十六进制数字输入,或者您可以点击“创建新UUID”按钮以生成新的UUID。

我包含了Estimote UUID以及Apple包含的3个UUID以及一些独特的UUID。

我们的测试平台应用程序然后使用UUID列表来发送和接收信标ID。

因此,当UUID存储在本地时,它们不是硬编码的。

您当然也可以像David建议的那样从Web服务中获取UUID列表,或者使用iCloud在使用相同AppleID的所有设备上获取用户定义的ID列表。

答案 3 :(得分:0)

对于那些想要发现任意iBeacons及其uuids的人来说,这是一个痛苦的事实。

  • 似乎没有任何黑客在iOS上寻找任意的iBeacon - 您必须至少知道ProximityUUID才能看到它。
  • 使用CoreBluetooth对于使用iBeacons毫无用处。您可以看到他们的广告,并测量信号强度,但您看不到任何标识符,因此,您甚至不知道您看到的任何广告是否完全是iBeacon,与任何其他BluetoothLE设备相比