ios - startMonitoringForRegion 不会触发 didEnterRegion 和 didExitRegion

标签 ios cllocationmanager ibeacon

我正在使用 estimote 信标和区域进行一些测试。

在我开始监控一个区域时阅读文档,我将告诉我的代表一个特定的区域正在被监控,但是,didEnterRegiondidExitRegion 永远不会被触发.

我的代表解雇了:

-(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: 从未被调用。

有人面临同样的行为吗?

最佳答案

有几个项目需要检查。解决我的问题的方法是在您的设备设置中启用后台应用刷新(请参见下面的屏幕截图)。作为省电措施,我禁用了此功能。如果禁用此功能,监控将不起作用。

如果这不能解决您的问题,您可以阅读一篇很棒的帖子,其中详细介绍了所有要解决的问题。

iBeacon StartMonitoringForRegion Doesn’t Work


Background App Refresh

关于ios - startMonitoringForRegion 不会触发 didEnterRegion 和 didExitRegion,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20241548/

相关文章:

ios - 新的 iTunes 用户界面找不到 "ready to upload binary"

ios - Swift 在 SwiftUI Init() 中访问核心数据实体? (线程1 : EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP,子码=0x0)

iphone - 如何检测 "would like to use your current location"选择 Action ?

ios - 跟踪用户位置与其他坐标之间的距离

objective-c - 为什么 requestWhenInUseAuthorization 不提示用户访问该位置?

ios - 连接到 iBeacon

锁定屏幕时 iOS 停止查找信标

android - BluetoothLeAdvertiser 是否适用于装有 Android 5.0 的 Nexus 5?

ios - 扩展 TableViewCell 空白

ios - %g 在 ios 中给出指数形式的值