locationManager:didRangeBeacons: массив маяка inRegion содержит несколько экземпляров одного и того же маяка
Итак, у меня есть свой метод делегата locationManager:didRangeBeacons:inRegion
и это дает мне NSArray
маяков. Обычно в массиве только 1 маяк, который я сейчас ищу. Однако иногда это происходит, когда в массиве несколько маяков, все с одинаковой информацией. Он дает одинаковые основные, второстепенные и UUID, но абсолютно разные показания расстояния.
Определенно нет 6 разных маяков с второстепенным 221, но иногда он будет отображаться в NSArray
6 раз Некоторые из результатов измерения расстояния в массиве, который он дает, совершенно неточны, в то время как другие не являются плохими, поэтому я не уверен, почему вообще неточные результаты даже там.
Код внутри locationManager:didRangeBeacons:inRegion
ниже:
-(void)locationManager:(CLLocationManager *)manager didRangeBeacons:(NSArray *)beacons inRegion:(CLBeaconRegion *)region {
if(beacons.count>0) {
for(int i = 0; i < beacons.count; i++) {
NSLog(@"Beacon #%d: %@", i, [beacons objectAtIndex:i]);
}
CLBeacon *beacon = [[CLBeacon alloc] init];
beacon = [beacons lastObject];
NSLog(@"%f", beacon.accuracy);
if(beacon.accuracy != -1.0){
unknownCounter = 0;
activityView.hidden = YES;
if(searching){
controlView.hidden = NO;
}
[self determineHotColdBarColor:beacon.accuracy];
}
}else{
NSLog(@"Couldn't find any beacons");
}
}
И вот журнал, который я получил, когда 6 раз находил одну и ту же информацию маяка:
2015-09-21 12:49:31.327 My Beacon App[441:88487] Beacon #0: CLBeacon (uuid:<__NSConcreteUUID 0x1d91a380> 6CE21B2C-FD69-49CD-B375-578943BC4678, major:2, minor:221, proximity:0 +/- -1.00m, rssi:0)
2015-09-21 12:49:31.328 My Beacon App[441:88487] Beacon #1: CLBeacon (uuid:<__NSConcreteUUID 0x1d91a3c0> 6CE21B2C-FD69-49CD-B375-578943BC4678, major:2, minor:221, proximity:0 +/- -1.00m, rssi:0)
2015-09-21 12:49:31.328 My Beacon App[441:88487] Beacon #2: CLBeacon (uuid:<__NSConcreteUUID 0x1d91a020> 6CE21B2C-FD69-49CD-B375-578943BC4678, major:2, minor:221, proximity:0 +/- -1.00m, rssi:0)
2015-09-21 12:49:31.328 My Beacon App[441:88487] Beacon #3: CLBeacon (uuid:<__NSConcreteUUID 0x1d91a060> 6CE21B2C-FD69-49CD-B375-578943BC4678, major:2, minor:221, proximity:0 +/- -1.00m, rssi:0)
2015-09-21 12:49:31.329 My Beacon App[441:88487] Beacon #4: CLBeacon (uuid:<__NSConcreteUUID 0x1d91a0a0> 6CE21B2C-FD69-49CD-B375-578943BC4678, major:2, minor:221, proximity:2 +/- 0.35m, rssi:-52)
2015-09-21 12:49:31.331 My Beacon App[441:88487] Beacon #5: CLBeacon (uuid:<__NSConcreteUUID 0x1d919fe0> 6CE21B2C-FD69-49CD-B375-578943BC4678, major:2, minor:221, proximity:2 +/- 0.41m, rssi:-52)
Если у кого-то есть идея, почему что-то подобное происходит, я был бы очень признателен. Спасибо!