gpt4 book ai didi

ios - 同时使用 CoreLocation 和 CoreBluetooth 扫描信标

转载 作者:搜寻专家 更新时间:2023-11-01 06:55:38 25 4
gpt4 key购买 nike

我负责开发一个应用程序,我需要在其中扫描信标,到目前为止,仅支持 iBeacon 信标就足够了,为了做到这一点,我使用 CoreLocation 扫描和检索信标数据,效果非常好.

现在要求增加扫描Eddystone信标的支持;但 CoreLocation 不支持这种类型的信标。因此,我必须使用 CoreBluetooth 来扫描和检索来自 Eddystone 信标的数据,请参阅@davidgyoung 的这篇内容丰富的帖子以进一步了解。

https://stackoverflow.com/a/41744019/6792878

因此,由于 CoreLocation 和 CoreBluetooth 使用蓝牙,我开始考虑要遵循的最佳实践以尽可能好地扫描这两种信标类型,我想出了以下方法:

  • 同时使用 CoreLocation 和 CoreBluetooth 的可能性,CoreLocation 扫描 iBeacon,CoreBluetooth 扫描其他类型(在本例中为 Eddystone)。但没有发现任何声明或否定如果他们打断/影响对方的扫描仪。

  • 抛弃 CoreLocation 并为这两种类型实现仅 CoreBluetooth 的扫描器,这将需要更努力的工作来深入挖掘信标细节。

最佳答案

如果您想扫描 iOS 上的 iBeacon 和其他信标类型,您必须同时使用 CoreLocation 和 CoreBluetooth。它们可以很好地协同工作。

重要的是要注意无法使用 CoreBluetooth 扫描 iBeacon,因为 iOS 通过返回一个空的制造商数据 NSData 对象来阻止访问任何匹配 iBeacon 格式的数据包的原始字节。

要查看它们一起正常工作的示例,请查看我的 Locate Beacon适用于 iOS 的应用程序,它使用 CoreBluetooth 扫描 iBeacon(使用 CoreLocation)和 Eddystone 和 AltBeacon。打开附近的两种信标类型,应用程序会同时检测到这两种信标。事实上,AppStore 上的示例屏幕截图显示了这一点。

虽然该应用程序的代码不是开源的,但它如何扫描 AltBeacon 和 CoreBluetooth 的基础知识在 iOS Beacon Tools 中是开源的项目。

关于ios - 同时使用 CoreLocation 和 CoreBluetooth 扫描信标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53572773/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com