gpt4 book ai didi

ios - didRangeBeacons 一次只返回一个 iBeacons

转载 作者:行者123 更新时间:2023-12-01 17:39:43 25 4
gpt4 key购买 nike

我正在尝试检测多个 iBeacon。我在它们附近放置了三个 iBeacon。

问题一一检测。不在数组中。它应该返回 3 个 iBeacons。

self.beaconManager = [[ESTBeaconManager alloc] init];
self.beaconManager.delegate = self;

self.region1 = [[ESTBeaconRegion alloc] initWithProximityUUID:ESTIMOTE_PROXIMITY_UUID major:21668 minor:53482 identifier:@"EstimoteSampleRegion"];

self.region2= [[ESTBeaconRegion alloc] initWithProximityUUID:ESTIMOTE_MACBEACON_PROXIMITY_UUID major:3894 minor:57726 identifier:@"EstimoteSampleRegion2"];

self.region3= [[ESTBeaconRegion alloc] initWithProximityUUID:ESTIMOTE_IOSBEACON_PROXIMITY_UUID major:13067 minor:31901 identifier:@"EstimoteSampleRegion3"];


[self.beaconManager startRangingBeaconsInRegion:_region1];
[self.beaconManager startRangingBeaconsInRegion:_region3];
[self.beaconManager startRangingBeaconsInRegion:_region2];

//委托(delegate)方法
 -(void)beaconManager:(ESTBeaconManager *)manager didRangeBeacons:(NSArray *)beacons inRegion:(ESTBeaconRegion *)region {
//checks bRegion, so you could have it searching for other beacons if you wanted after one is notified

NSLog(@"Start");
for (ESTBeacon *iBeacon in beacons) {
NSLog(@"%@",iBeacon.minor);
}
NSLog(@"Finish");


}

Console O/p


Start
57726
Finish

Start
53482
Finish

Start
31901
Finish

Start
57726
Finish

最佳答案

如果您查看方法签名,您会看到它是 -

 didRangeBeacons:inRegion:

请注意“区域内” - 您的三个信标位于不同的区域,因此您会收到每个区域的单独调用。

如果您将区域初始化更改为 -
self.region1 = [[ESTBeaconRegion alloc] initWithProximityUUID:ESTIMOTE_PROXIMITY_UUID identifier:@"EstimoteSampleRegion"];

并删除其他两个区域,然后您将收到同一区域中所有三个信标的通知。您将需要分别检查每个主要和次要,以确定哪个是哪个。

如果您为所有信标指定相同的专业,那么您可以指定您所在地区的专业,并且您只会收到“您的”信标的通知,而不是所有 Estimote 信标(除非其他人选择相同的专业...)

关于ios - didRangeBeacons 一次只返回一个 iBeacons,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24094664/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com