我正在使用两个iOS设备,一个被设置为iBeacon。
我正在用第二个iOS设备对信标进行测距,并可以通过以下方式获取其状态:
-(void)locationManager:(CLLocationManager *)manager
didRangeBeacons:(NSArray *)beacons
inRegion:(CLBeaconRegion *)region{}
当我停止在iBeacon上做广告时,第二个设备上的位置管理器继续在5-10秒内对iBeacon进行范围/识别。
这是预期的行为吗?
peripheralManager是否需要一段时间才能结束?
发布于 2013-08-19 14:03:52
我有一个设置,专用的BTLE硬件运行为iBeacons。实际上,停止调用locationManager:didRangeBeacons:inRegion:
需要花费20-30秒,然后调用locationManager:didExitRegion:
。
据我理解,这是合理的,这正是CL正在寻找的,因为设备需要一些时间,以确保它真的退出了该地区。另一方面,在你发射信标后,它几乎立即开始对信标进行测距。没有理由等着开始测距。
如果您检查信标的邻近属性,您将注意到在此期间它是CLProximityUnknown
。也许你可以用这种状态做点什么来做你想做的事。
https://stackoverflow.com/questions/18315658
复制相似问题