initWithProximityUUID中的iOS ibeacon标识符:(NSUUID *)proximityUUID标识符:(NSString *)标识符?

时间:2015-05-12 13:35:56

标签: ios ibeacon identifier

我遵循以下教程:

http://www.appcoda.com/ios7-programming-ibeacons-tutorial/

但是,我没有使用iPhone作为灯塔,但我使用的是制造商的真实信标(RECO,Estimote)。

我不明白在以下行中使用标识符字段的内容:

    <ul id="menu-main-menu" class="nav navbar-nav navbar-right">
<li id="menu-item-23" class="menu-item menu-item-type-custom menu-item-object-custom current-menu-item current_page_item menu-item-home menu-item-23"><a title="Home" href="http://localhost/wp/">Home</a></li>
<li id="menu-item-25" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-25 active"><a title="About" href="#ct-about">About</a></li>
</ul>

我可以修改信标的UUID,Major和Minor值,但是没有修改标识符的选项。什么是标识符?

2 个答案:

答案 0 :(得分:1)

该字符串标识符只是一个唯一键,供您用于标识该区域。 您可以将任何值放在您想要的字符串中,只要您想要替换被测距/监视的区域时再次使用相同的值来识别该区域,或者停止测距/监视该地区。

以下示例将开始监控两个区域(基于两个不同的UUID,具有两个不同的标识符&#34; first_region&#34;以及&#34; second_region&#34;:

[_locationManager startMonitoringForRegion: 
    [[CLBeaconRegion alloc] initWithProximityUUID:first_uuid 
                            identifier:@"first_region"]];

[_locationManager startMonitoringForRegion: 
    [[CLBeaconRegion alloc] initWithProximityUUID:second_uuid
                            identifier:@"second_region"]];

然后,您可以使用以下代码停止监控 second 区域:

[_locationManager startMonitoringForRegion: 
    [[CLBeaconRegion alloc] initWithProximityUUID:second_uuid
                            identifier:@"second_region"]];

上面的代码行中重要的是这个&#34; second_region&#34;标识符字符串。要正确停止监控,必须与您用于开始监控该区域的字符串相匹配。

答案 1 :(得分:0)

如果您只使用一个区域,那么您可以为其提供任何字符串值,如下所示;有关详细信息,请参阅此帖https://stackoverflow.com/a/20566695/1351327

static NSString * const kIdentifier = @"SomeIdentifier";
static NSString * const kUUID = @"124C5678-4444-1111-2222-134556728422";

// Then create the region

NSUUID *proximityUUID = [[NSUUID alloc] initWithUUIDString:kUUID];
CLBeaconRegion *beaconRegion = [[CLBeaconRegion alloc] initWithProximityUUID:proximityUUID identifier:kIdentifier];