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)

Если у кого-то есть идея, почему что-то подобное происходит, я был бы очень признателен. Спасибо!

0 ответов

Другие вопросы по тегам