didEnterRegion和didRangeBeacons之间的区别

Mih*_*hta 4 cllocationmanager ios ibeacon clbeacon clbeaconregion

在用例方面,didEnterRegion和didRangeBeacons之间的确切区别是什么?我的意思是当我应该实现didEnterRegion/didExitRegion以及何时应该实现didRangeBeacons?

每个委托方法的确切功能是什么?从苹果的文档来看,它不是很清楚.

- (void)locationManager:(CLLocationManager *)manager
         didEnterRegion:(CLRegion *)region
{
} 
Run Code Online (Sandbox Code Playgroud)

- (void)locationManager:(CLLocationManager *)manager
        didRangeBeacons:(NSArray *)beacons
               inRegion:(CLBeaconRegion *)region
{
}
Run Code Online (Sandbox Code Playgroud)

Pau*_*w11 6

didEnterRegion当你越过该区域的阈值(即检测到信标)时,将被调用一次.一旦退出该区域(即信标不再可见)didExitRegion将被调用,然后didEnterRegion如果您重新进入该区域将再次调用.

didRangeBeacons 被重复调用,而您测距的信标是可见的,为您提供更新的邻近信息.

一种常见的策略是监视信标区域并且一旦didEnterRegion被调用,开始测量更新的信标,停止一次didExitRegion调用.

另请参阅 - 位置编程指南