如何检测进入或退出region时,响应特定的ibeacon设备,在进入或退出代理方法中,region中UUID可以获取,但major与minor都为nil,请问如何做到到某个ibeacon范围内,进入或离开响应该iBeacon?
这个代理后台不运行吧?只走appDelegate中得didEnterRegion或者didExitRegion方法
有个技巧是在 startMonitoringForRegion:
的回调中,再调用startRangingBeaconsInRegion:
。这样就可以在后台运行了
你好,请问下startMonitoringForRegion的回调方法是哪个?
恩好的,多谢,[_locationManager startRangingBeaconsInRegion:region];
[_locationManager startMonitoringForRegion:region]; 这两个方法有啥区别,第一个方法是获取当前region中的所有iBeacon设备,第二个方法是只监控region的进入或退出region边界状态,是么?多谢!
didDiscoverBeacons 这个方法与didRangeBeacons这个方法有啥区别,不都是获取所有的iBeacon全部设备么?
didDiscoverBeacons是按照蓝牙的方式去搜索蓝牙设备。didRangeBeacons是按照iBeacon协议去搜索beacon设备
你的理解比较正确,另外startMonitoringForRegion可以在后台运行。如果你还有其它问题,但是与本主题不相关,请重新开一个主题,以便检索。
谢谢
那就是弹出推送通知还不能在beaconManager:didEnterRegion:中判断,得在didRangeBeacons这个中进行判断并推送?信号是不间断发送的,那推送也就是不间断进行推送啊,不能控制每次进入或退出只推送一次么?
你可以在程序逻辑中控制,例如记录上次推送的时间
恩好的,多谢指导,有啥不明白的还请多多指教,多谢!