Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Eddystone/iBeacon IOS后台扫描速率_Ios_Ibeacon_Beacon_Eddystone - Fatal编程技术网

Eddystone/iBeacon IOS后台扫描速率

Eddystone/iBeacon IOS后台扫描速率,ios,ibeacon,beacon,eddystone,Ios,Ibeacon,Beacon,Eddystone,我正在尝试开发一个IOS应用程序来检测Eddystone和iBeacons。我使用了Corelocation和Corebluetooth来实现。我想在背景中检测信标,并因此设置背景模式。我观察到,在背景中一分钟后,扫描频率大大降低(每5分钟一次)。有没有办法设置IOS应用程序的后台扫描频率?5分钟对于我正在开发的应用程序的用例来说似乎是一段很长的时间。另外,如果另一个信标在范围内,是否有办法唤醒该应用程序?在后台使用CoreBlutooth扫描iOS上的BLE设备可能会相对较慢,正如您所建议的那

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

在后台使用CoreBlutooth扫描iOS上的BLE设备可能会相对较慢,正如您所建议的那样。您的5分钟检测时间并不罕见。就其本身而言,CoreBluetooth并不能让您增加此频率。然而,CoreLocation在检测速度方面更为优化,但它仅限于iBeacon格式


您可以做的一件事是将发送iBeacon帧的信标(用于速度)与发送Eddystone帧的信标(用于其他目的)结合起来。如果您在收到iBeacon监控背景事件时开始对信标进行测距,您会发现您的Eddystone检测时间也会加快。这个技巧可以让你启动CoreLocation测距的CoreBluetooth扫描——在引擎盖下它们实际上是一样的。

我的主要目的是在后台尽快检测到一个新的Eddystone地址。所以,如果我从一个房间到另一个房间,我不需要等待5分钟就可以检测到新地址。如果我让一些发射设备同时发射iBeacon和Eddystone,并使用CoreLocation来检测变化,我就能同时扫描Eddystone了,你是说?如果您以前尝试过,应用程序能够以多快的速度检测到Eddystone地址的时间变化?谢谢,我还没有测量它的速度,但我怀疑它与CoreBluetooth的前台扫描类似。@DavidYoung,你能告诉我如何结合iBeacon和Eddystone,以便在应用程序处于后台模式时从Eddystone获取url这是一个值得提出的新问题。基本思想是在AppDelegate中设置CoreLocation信标监控。如果你提出一个新问题,显示你的Eddystone检测代码,我可以帮你。