我一直在对 iOS 设备上的 iBeacons 和 CoreBluetooth 进行大量研究。你的帖子和研究都很棒。我已经学到了很多。不幸的是,我陷入了死胡同,因为这与我真正想做的事情有关。
我正在读这篇文章:http://developer.radiusnetworks.com/2013/10/21/corebluetooth-doesnt-let-you-see-ibeacons.html http://developer.radiusnetworks.com/2013/10/21/corebluetooth-doesnt-let-you-see-ibeacons.html....
...并且它指出,如果没有邻近 UUID,您实际上无法使用 CoreBluetooth 做很多事情。也就是说,如果我真的拥有它怎么办?
我想要做的是将 iBeacons 放置在给定位置周围。我将使用didEnterRegion
CLLocationManager 委托方法来了解我们何时进入该区域。我想用它来触发一些 CoreBluetooth 信标监控,以便可以在后台完成。我只需要 RSSI 和一个唯一标识符(现在不需要主要和次要标识符),我已经能够在前台获得这些标识符,但不能在后台获得。
我的印象是,如果我的应用程序设置了“蓝牙中心”(现在“应用程序使用 CoreBluetooth 进行通信”),我仍然应该能够在后台获取这些基本数据。
你能解释一下我想做什么吗?目前,似乎没有其他人尝试过这个,我很乐意让它继续运行并分享它,因为如果我能克服这个障碍,这似乎是一个可行的解决方法。
想法?
正如博客文章中提到的,您无法从 CoreBluetooth API 中获取任何 iBeacon 标识符,因为 iOS 不提供对封装这些标识符的原始广告数据的访问。
您也许能够进行关联。如果只有一个 BluetoothLE 设备可见,并且您刚刚看到使用 CoreLocation API 的 iBeacon,则可以继续使用 CoreBluetooth 跟踪信标,按照您的建议读取 RSSI。
当多个蓝牙 LE 设备可见时就会出现问题。如果无法访问 CoreBluetooth 中的 iBeacon 标识符,您如何知道您在 CoreBluetooth 中看到的哪个设备与您在 CoreLocation 中看到的哪个 iBeacon 一致?不幸的是,我认为没有任何方法可以将它们匹配起来。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)