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

时间:2014-12-17 15:43:47

标签: ios core-location core-bluetooth ibeacon

我使用CoreLocation来监控iBeacons。问题是,如果我有100个具有相同UUID聚类的信标,我只得到一个didEnterRegion,而不是100个。

我可以通过使用CoreBluetooth编码我自己的实现来修复它吗?

当应用程序处于后台时,

CoreLocation在(后台模式)上不需要任何功能来监控。 CoreBluetooth是否需要它?苹果是否允许具有这些功能的应用程序到商店?

1 个答案:

答案 0 :(得分:1)

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

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