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 中实现读/写特性