3

所以我有我的委托方法locationManager:didRangeBeacons:inRegion,它给了我一个NSArray信标。通常它在阵列中只有 1 个信标,这就是我目前正在寻找的那个。但是,有时会在阵列中有多个信标的情况下发生,所有信标都具有相同的信息。它给出了相同的主要、次要和 UUID,但距离读数完全不同。

小号 221 肯定没有 6 个不同的信标,但有时它会出现在NSArray6 次中。它给出的数组中的一些距离结果是完全不准确的,而另一些则还不错,所以我不确定为什么一开始就出现了完全不准确的结果。

里面的代码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)

如果有人知道为什么会发生这样的事情,我将不胜感激。谢谢!

4

0 回答 0