【发布时间】:2017-05-25 21:09:47
【问题描述】:
如何停止检测具有相同主要和次要的 estimote iBeacons?
说明:
1.配置两个iBeacon,UUID、Major、Minor相同
2.在范围内我得到两个信标检测
3 但我只需要一个检测(如果它们具有相同的 UUID_Major_Minor)
4.有什么办法可以避免相同的信标检测
提前谢谢..
【问题讨论】:
标签: ios objective-c swift ios7 ibeacon
如何停止检测具有相同主要和次要的 estimote iBeacons?
说明:
1.配置两个iBeacon,UUID、Major、Minor相同
2.在范围内我得到两个信标检测
3 但我只需要一个检测(如果它们具有相同的 UUID_Major_Minor)
4.有什么办法可以避免相同的信标检测
提前谢谢..
【问题讨论】:
标签: ios objective-c swift ios7 ibeacon
Major 和 Minor 值是分配给 iBeacon 的数字,以便比单独使用 UUID 更准确地识别它们。
Minor 和 Major 是无符号整数值。
iBeacon 标准要求同时分配 Major 和 Minor 值。
主要值旨在识别和区分一个组 - 例如,您场地中某个楼层或房间的所有信标都可以分配一个唯一的主要值。
次要值旨在识别和区分个体——例如区分一组信标中分配有主要值的各个信标。
您没有为 iBeacon 分配相同的 Major 和 Minor 值。从技术上讲,您根本不需要分配这些值(尽管它们都是 Apple 的 iBeacon 标准的一部分)——但是它们对于识别、组织和跟踪 iBeacon 到更精细的级别非常有用。如果您希望您的 iBeacons 提供独特的内容,那么它们需要有一个唯一的 ID 来区分它们。
更多详情:https://support.kontakt.io/hc/en-gb/articles/201620741-iBeacon-Parameters-UUID-Major-and-Minor
-(void)locationManager:(CLLocationManager*)manager
didRangeBeacons:(NSArray*)beacons
inRegion:(CLBeaconRegion*)region
{
// Beacon found!
CLBeacon *foundBeacon = [beacons firstObject];
// You can retrieve the beacon data from its properties
NSString *uuid = foundBeacon.proximityUUID.UUIDString;
NSString *major = [NSString stringWithFormat:@"%@", foundBeacon.major];
NSString *minor = [NSString stringWithFormat:@"%@", foundBeacon.minor];
switch (foundBeacon.proximity) {
case CLProximityUnknown:
//Unknown
break;
case CLProximityFar:
//Far
break;
case CLProximityNear:
//Near
break;
case CLProximityImmediate:
default:
//default
break;
}
if (foundBeacon.proximity != self.previousProximity) {
//check if last foundBeacon.proximity is equal or not
self.previousProximity = foundBeacon.proximity;
}
}
【讨论】: