我接近完成使用具有UUID的Estimote信标的应用程序 在我的项目中硬编码,列出了使用ibeacon API的所有Estimote信标,但是当我试图使用设备UUID将我自己的设备作为信标发射器时,这与estimote UUID不同,我无法找到它,因为我在代码中提到的UUID是Estimote的。
所以我的问题是,有什么方法可以找到我可以用苹果的ibeacon API跟踪的所有信标(Ex-Estimote Beacons,Kontakt Beacons,Blue cat Beacons和ibeacon硬件)?
使用相同的代码我想跟踪所有信标而不对任何UUID进行硬编码?
有可能吗?
答案 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的人来说,这是一个痛苦的事实。