我用IBeacon构建了一个简单的ios应用程序。我在iPhone 4s whit ios7.1上运行这个应用程序,同时运行一个IBeacon基站。一切正常工作在背景或前景(出口区域背景有30秒延迟)。但是在一段时间内,大约3个小时,这个虽然设备设置没有改变(蓝牙和定位正常),但app无法监控任何事件。这种情况必须重启设备。
请告诉我该怎样做才能解除这种情况? 谢谢!
答案 0 :(得分:1)
我想知道当你的应用程序处于后台时,iOS蓝牙扫描是否会变慢,以至于事件似乎永远不会发生,因为它们只是花了这么长时间才发生。重新启动可能会加快循环。
强制蓝牙LE扫描周期寻找iBeacons的一种方法是在前台运行使用CoreLocation iBeacon测距API的不同应用。
尝试安装Locate for iBeacon,然后只要您的应用似乎没有在basckground中收到通知,请启动Locate for iBeacon并点击Locate iBeacons。你看到iBeacons了吗?您的后台应用是否收到通知?
如果这样做,那么重复测试,而不是使用定位应用程序强制扫描,只需等待(如果需要,一小时)。看看你最终是否收到通知,并注意花了多长时间。
编辑:看来这是iOS停止寻找完全需要重启的iBeacons的情况。请参阅下面的相关问题。
iBeacon: didRangeBeacons stops getting called, must reset device for it to work again