4

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

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

在上述场景中,我开始使用以下代码监控信标区域,其中仅给出了 uuid 和标识符。

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

方法 2 - 带有 UUID 、 Major 和 Identifier 的区域:

在上述场景中,我使用以下方法开始监视信标区域,其中给出了 uuid、主要和标识符值

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

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

在上述场景中,我使用以下方法开始监视信标区域,其中所有 uuid、主要、次要和标识符值均已给出

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

现在考虑到上述 3 种方法,我开始使用以下方法进行区域监控:

[self.locationManager startMonitoringForRegion:region];

不幸的是,只有第三种方法信标进入和退出委托被调用。但是当我使用第一种或第二种方法时,我无法接收进入和退出区域委托。

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

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

4

1 回答 1

1

确保周围没有其他具有相同proximityUUID(方法1)或相同proximityUUID 和相同major(方法2)的信标。当有另一个信标时,应用程序将不会收到退出事件,因为它仍在此邻近UUID/major 定义的那个区域中。

于 2017-09-12T06:23:06.100 回答