CoreBluetooth 监控 100 个具有相同 UUID 且具有唯一输入的信标

Posted

技术标签:

【中文标题】CoreBluetooth 监控 100 个具有相同 UUID 且具有唯一输入的信标【英文标题】:CoreBluetooth monitoring 100 beacons with same UUID with unique enters 【发布时间】:2014-12-17 15:43:47 【问题描述】:

我使用CoreLocation 来监控 iBeacon。问题是,例如,如果我将 100 个具有相同 UUID 的信标聚集在一起,我只会得到一个 didEnterRegion,而不是 100 个。

我可以通过使用CoreBluetooth 编写自己的实现来解决它吗?

CoreLocation 不需要任何(后台模式)功能来在应用程序处于后台时进行监控。 CoreBluetooth 需要吗?苹果是否会让具有这些功能的应用进入商店?

【问题讨论】:

【参考方案1】:

虽然您可以在附近有信标时获得CoreBluetooth 回调,但Apple 会阻止使用CoreBluetooth 读取任何信标数据的能力。所以这不是一个解决方案。在此处查看详细信息:http://developer.radiusnetworks.com/2013/10/21/corebluetooth-doesnt-let-you-see-ibeacons.html

另一种解决方案是使用CoreLocation 将区域监控与测距相结合。然后你把你的代码放在locationManager:didRangeBeacons:inRegion: 测距回调(不是监控回调)。测距回调提供了该区域中当前可见的所有信标的数组。在您的情况下,如果同时可见 100 个信标,则此回调将包含 100 个信标的数组,允许您查看每个信标的标识符。

【讨论】:

哇...这就像 Apple 的爱好是让我们的生活变得更艰难。就像区域监控中最多 20 个信标一样。它使信标几乎无用...谢谢!

以上是关于CoreBluetooth 监控 100 个具有相同 UUID 且具有唯一输入的信标的主要内容,如果未能解决你的问题,请参考以下文章

CoreBluetooth:我可以订阅具有读写权限的特性吗?

如何解决 [CoreBluetooth] 警告:对于具有多个设备连接的外围设备来说,这不是一个有效的特征

在 CoreBluetooth.framework 中实现读/写特性

iOS之CoreBluetooth

iPhone 5C/5S 上的 CoreBluetooth:收到的数据损坏

iOS:使用 corebluetooth 库从不同的视图控制器进行通信