我正在使用 estimote 信标和区域进行一些测试。
在我开始监控一个区域时阅读文档,我将告诉我的代表一个特定的区域正在被监控,但是,didEnterRegion
和 didExitRegion
永远不会被触发.
我的代表解雇了:
-(void)beaconManager:(ESTBeaconManager *)manager didRangeBeacons:(NSArray *)beacons inRegion:(ESTBeaconRegion *)region
和
- (void)locationManager:(CLLocationManager *)manager didDetermineState:(CLRegionState)state forRegion:(CLRegion *)region
我没有检查 locationManager:didFailWithError
是否发生错误:
目前,我正在使用 state 手动运行两个私有(private)方法,分别用作 didEnter 和 didExit - 在这种情况下,我也能够监视该区域,但我没有得到为什么 locationManager:didEnterRegion
: 和 locationManager:didExitRegion
: 从未被调用。
有人面临同样的行为吗?
最佳答案
有几个项目需要检查。解决我的问题的方法是在您的设备设置中启用后台应用刷新(请参见下面的屏幕截图)。作为省电措施,我禁用了此功能。如果禁用此功能,监控将不起作用。
如果这不能解决您的问题,您可以阅读一篇很棒的帖子,其中详细介绍了所有要解决的问题。
关于ios - startMonitoringForRegion 不会触发 didEnterRegion 和 didExitRegion,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20241548/