【发布时间】:2015-10-05 15:26:15
【问题描述】:
UUID、主要和次要值提供识别信息 用于 iBeacon。
主要和次要值用于区分区域内的产品或元素。 Apple 文档非常清楚如何做到这一点,商店示例也非常好。
然而,所有这些只有在每个区域(或子区域)有一个元素类别时才能正常工作,但如果我们希望 APP 能够区分,它就不能很好地工作在同一区域内具有相同小调和大调的元素之间。
是否有其他一些与 iBeacon 相关联的唯一标识符可以被监视/检测,以便我可以区分具有相同次要值和主要值的 iBeacon?
编辑:附加信息
为了测试这一点,我创建了两个具有相同 UUID 和相同主要和次要值的 iBeacon,然后开始监视我指定的 UUID 内的 iBeacon。
我为iBeacons在区域范围内实现的回调代码如下:
-(void)locationManager:(CLLocationManager *)manager didRangeBeacons:(NSArray *)beacons inRegion:(CLBeaconRegion *)region {
NSLog(@"Did range %lu beacon in region %@", (unsigned long)[beacons count], region.identifier);
for (int i=0; i<[beacons count]; i++) {
CLBeacon *beacon = [beacons objectAtIndex:i];
// <- breakpoint!
NSString *_cnt = [[NSString alloc] initWithFormat:@"Number of beacons is : %lu and the current one %i is %f away from you %@",(unsigned long)[beacons count], i, beacon.accuracy, beacon.description];
}
}
当我向信标线添加断点时,我看到检测到的两个 CLBeacon 对象具有相同的信息:
CLBeacon (uuid:<__NSConcreteUUID 0x17003d8e0> 74278BDA-B644-4520-8F0C-720EAF059935, major:20, minor:0, proximity:1 +/- 0.17m, rssi:-42)
CLBeacon (uuid:<__NSConcreteUUID 0x17003e840> 74278BDA-B644-4520-8F0C-720EAF059935, major:20, minor:0, proximity:2 +/- 0.28m, rssi:-47)
所以到目前为止,除非我指定主要和次要值,否则我无法区分它们。
这是我用来配置 iBeacons 的 App 的屏幕截图(没有其他可以配置的字段):
我想知道蓝牙信号中是否有某种唯一标识符来识别每个硬件。
【问题讨论】:
标签: ios bluetooth-lowenergy hardware uuid ibeacon