iBeacon后台检测时间(家庭自动化用例)

时间:2014-08-25 23:24:58

标签: ios core-location ibeacon

我知道这个问题有很多种,但我还没有看到完整的答案。我刚收到很多相互矛盾的信息。

我试图将iBeacon用于家庭自动化用例。例如,如果我走进一个带有iBeacon的房间,我打开那个房间里的灯。你可以想象,我需要这个非常迅速(在房间里走几秒钟)。当我将我的应用程序放在前台时,这非常有效 - 进入和退出该区域的时间很快。但是,如果应用程序在后台,则更不可靠。如果我调用[self.locationManager startUpdatingLocation]并且永远不会停止更新位置,则iBeacon检测的工作方式与应用程序位于前台的情况相同。但是,我认为这不是预期的用例,因为这可能会在一段时间后耗尽电池。我的问题是:

  1. 在后台和前台监听iBeacons(只是进入/退出回调)的预计时间是多少?
  2. 有没有办法让iBeacons在后台工作的速度和前景一样快,而不需要调用[self.locationManager startUpdatingLocation]?一旦位置箭头从活动位置监控变为带有地理围栏轮廓的箭头,我立即停止获取iBeacon通知。

1 个答案:

答案 0 :(得分:5)

不幸的是,你不能指望iOS后台的快速检测时间。时间取决于设备和设备状态,检测最多可能需要15分钟。在某些情况下,你可能会得到更快的检测,但你根本无法指望它。

请参阅:

http://developer.radiusnetworks.com/2014/03/12/ios7-1-background-detection-times.html

http://developer.radiusnetworks.com/2013/11/13/ibeacon-monitoring-in-the-background-and-foreground.html

抱歉,我知道这不是你想听到的答案。不幸的是,这个用例只适用于iOS上的前台应用程序。