如何搜索iBeacons UUID,并在iOS,Swift中扫描所有iBeacons

时间:2015-09-25 07:19:31

标签: ios swift ibeacon

我正在开发一款可以检测我身边的iBeacon设备的iOS应用。 据我所知,我们需要知道要扫描它们的特定UUID。

for ex:Search for all iBeacons and not just with specific UUID

考虑到这一点,我使用了重置,我可以检测到我的信标,好吧!

问题是,当我在AppStore中尝试多个应用程序时,一些应用程序可以扫描所有具有不同UUID的信标(我有超过90个信标,有8个不同的UUID)!怎么可能?

应用1:https://itunes.apple.com/us/app/ebeacon/id730279939?mt=8

应用2:https://itunes.apple.com/nl/app/dartle-ibeacon-locator/id904211297?l=en&mt=8

所以我的第一个想法是他们使用Apple的某种私人框架,但如果你这样做,你的应用程序将不允许发布!,嗯...

所以我的问题是,他们怎么能这样做? - 他们是否喜欢所有iBeacon制造商的所有UUID列表? - 或者他们知道扫描所有周围的iBeacons UUID的方法吗?

有人可以帮我回答这个问题吗?

1 个答案:

答案 0 :(得分:2)

Apple的目的是,无法找到您周围的所有信标,主要是出于隐私原因,还要节省电量。您的应用只能使用特定的信标,因此您需要设置所有您的信标,以便您的应用识别它们。您应该无法检测我的应用使用的信标。因此,只有当用户明确下载并运行应该检测该信标的应用程序时,才会检测到信标的存在。

顺便说一句。如果您购买信标,他们应该附带一个应用程序(通常是Mac或Windows应用程序),可以让您更改其ID。因此,如果Joe的Carwash应用程序使用信标,Joe会购买100个信标,然后将它们全部设置为Joe的Carwash应用程序识别的ID。否则,如果信标中断,需要更换,Joe会遇到麻烦,然后Joe需要更新他的应用程序。相反,如果信标中断设置为ID xxxxx,则Joe购买新的信标,将其ID更改为xxxxx,并将其放在前一个信标所在的位置。