我正在尝试确定用户是否在iOS上的iBeacon附近。为此,我正在使用CoreLocation。
当用户进入该区域时,将触发didEnterRegion
,随后触发didDetermineState
。当用户离开区域时,didExitRegion
被触发(可能会有一些延迟),随后didDetermineState
被触发。我什至在CLBeaconRegion
中找到了一个标志,该标志在显示器打开时会触发didDetermineState
。
到目前为止,一切正常。但是,我想偶尔可靠地接到一个didDetermineState
的电话。不需要经常这样做,每隔一两个小时就可以了,我不介意间隔不是完全相同,只要保证在几个小时后就能触发。
我知道我可以通过调用didDetermineState
来请求requestStateForRegion
的调用,但是要做到这一点,应用程序必须正在运行。
我要区分的情况是:
如果保证每隔一两个小时进行一次更新,那么在此之后如果没有触发任何更新,我可以肯定2.。
到目前为止,我想到的解决方案是:
requestStateForRegion
。但这似乎不是
确保获得背景时间。此外,它的缺点是设备需要有效的Internet连接。是否还有其他方法可以不时触发背景/暂停应用的requestStateForRegion
?