Eddystone / iBeacon IOS后台扫描速率

时间:2016-08-17 16:57:16

标签: ios ibeacon beacon eddystone

我正在尝试开发一个IOS应用程序来检测Eddystone以及iBeacons。我使用了Corelocation和Corebluetooth来实现。我想在后台检测信标,因此也设置了后台模式。我观察到在背景中经过一分钟后,扫描的频率在很大程度上降低(一次在5分钟内)。有没有办法为IOS应用程序设置后台扫描频率?对于我正在开发的应用程序的用例,5分钟似乎需要很长时间。此外,如果另一个信标在范围内,有没有办法唤醒应用程序?

1 个答案:

答案 0 :(得分:3)

如您所知,在后台使用CoreBluetooth在iOS上扫描BLE设备可能会相对较慢。您的5分钟检测时间并不罕见。就其本身而言, CoreBluetooth不会为您提供增加此频率的任何能力。然而,CoreLocation针对检测速度进行了更优化,但仅限于iBeacon格式。

您可以做的一件事是将发出iBeacon帧的信标(对于速度)与发出Eddystone帧的信标(用于其他目的)相结合。如果您在获得iBeacon监控背景事件时开始测量信标,您会发现您的Eddystone检测时间也会加快。这个技巧允许你使用CoreLocation范围启动CoreBluetooth扫描 - 在引擎盖下它们实际上是相同的。