startEstimoteBeaconsDiscoveryForRegion doesn't respect region

I am using startEstimoteBeaconsDiscoveryForRegion for discovering beacons with my region.

#define kAppProximityUUID [[NSUUID alloc] initWithUUIDString:@"E0B8CB94-CF8A-4E90-8A38-1AE408F7E55E"]

    self.region = [[ESTBeaconRegion alloc] initWithProximityUUID:kAppProximityUUID
                                                      identifier:@"MeetingMe Beacon"];

    [self.beaconManager startEstimoteBeaconsDiscoveryForRegion:self.region];
    [self.beaconManager setDelegate:self];

However, eventhough I have given my beacons a UUID and created a region for it... it finds all the beacons available in the office. Even those with the different UUID.

The method startRangingBeaconsInRegion does respect the region, however I need the Mac Adress to distinguise between the beacons, which is not returned by this method.

How can I make the discovery method respect my region? Or is there a better way to identify different beacons with the same proximity UUID?

Paul Peelen

Hey Paul -- startEstimoteBeaconsDiscoveryForRegion ignores UUID specified for the region when scanning, so this method is best suited for "catch all" situations, with some manual filtering in place - e.g. by MAC addresses.

You mentioned you need MAC address to distinguish between beacons - major & minor values should allow you to do that as well, and then you could use startRangingBeaconsInRegion. A tuple of UUID+Major+Minor is guaranteed to be globally unique among all Estimote beacons.