在我的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种方法有效?
答案 0 :(得分:1)
确保没有其他具有相同proximityUUID(方法1)或相同proximityUUID和相同主要(方法2)的信标。当有另一个信标时,应用程序将不会获得退出事件,因为它仍然位于由proximityUUID / major定义的区域内。