【发布时间】:2016-03-09 20:54:33
【问题描述】:
当用户进入信标区域和退出信标区域时,我会向用户显示本地通知。出口是最重要的,因为我告诉用户他们在那个位置停留了多长时间。我正在使用区域监控,因为它允许我跟踪信标,即使应用程序处于后台或暂停状态。我遇到了一个错误,我正在监视 3 个信标(这发生在 2 和 1 上,但频率较低)。我的手机会休眠,我会继续监视信标。然后,我的应用程序将由于其中一个信标的 didExitRegion 而唤醒,即使所有 3 个信标都与我的手机正面朝上坐在同一张桌子上。每次都是不同的信标,所以我已经控制了我们的信号强度。然后,一旦应用程序唤醒,它会重新发现信标并立即重新进入(因为它从一开始就没有离开信号)。我正在同时使用 android 设备检测信号,并且信标一直在广播,因此 iPhone 不应该丢失这些信号,尤其是没有足够长的时间将其视为退出。
我试图通过使用来解决这个问题
[self.locationManager requestStateForRegion:region];
但是,在这些情况下,这将返回状态 2,即 CLRegionStateOutside。
我应该如何解决这个问题?有没有人有过类似的经历。我应该能够在信标区域停留 1 分钟或 1 小时,并且只有在未检测到信标 30 秒时才能离开。
【问题讨论】:
标签: ios core-location ibeacon