如果区域没有主要区域,则区域监视在iOS中不起作用

时间:2017-06-26 12:38:54

标签: ios objective-c ibeacon region-monitoring clbeaconregion

在我的iOs应用程序中,我试图监视不同参数上的一些信标区域,如下所示:

>方法1 - 仅具有UUID和标识符的区域:

  

在上面的场景中,我将开始监控信标区域   只提供uuid和标识符的代码。

CLBeaconRegion *region = [[CLBeaconRegion alloc] initWithProximityUUID:convertedUuid identifier:strIdentifier]; 
  

方法2 - 具有UUID,主要和标识符的区域:

     

在上面的场景中,我将开始监控信标区域   给出uuid,major和identifier值的方法

CLBeaconRegion  *region = [[CLBeaconRegion alloc] initWithProximityUUID:convertedUuid  major:[self.major intValue] identifier:strIdentifier];
  

方法3 - 具有主要次要和标识符的区域:

     

在上面的场景中,我将开始监控信标区域   给出所有uuid,major,minor和identifier值的方法

CLBeaconRegion  *region = [[CLBeaconRegion alloc] initWithProximityUUID:convertedUuid  major:[self.major intValue] minor:[self.minor intValue] identifier:strIdentifier];

现在考虑到上述3种方法,我将开始进行区域监测:

[self.locationManager startMonitoringForRegion:region];

不幸的是,只有第3个方法才会调用beacons进入和退出委托。但是当我使用第一种或第二种方法时,我无法接收进入和退出区域代表。

注意:我没有一次运行所有方法。我一次只使用一种方法。

任何人都可以提供任何反馈或提供任何帮助,为什么其他区域方法不起作用但只有第3种方法有效?

1 个答案:

答案 0 :(得分:1)

确保没有其他具有相同proximityUUID(方法1)或相同proximityUUID和相同主要(方法2)的信标。当有另一个信标时,应用程序将不会获得退出事件,因为它仍然位于由proximityUUID / major定义的区域内。