El monitoreo de la región de IBeacon no funciona de manera consistente en todos los dispositivos

Al probar con una aplicación sencilla para probar la supervisión de la región de baliza, parece que obtengo resultados muy inconsistentes según el dispositivo (no el modelo del dispositivo, el dispositivo específico). El problema es que no recibo elCLRegionStateInside Estado en la región despuésrequestStateForRegion ydidEnterRegion no se llama en absoluto en estos dispositivos.startRangingBeaconsinRegion: funciona bien, pero para conservar la energía y el procesamiento, se recomienda iniciar solo el rango cuandodidEnterRegion: el método se llama. Probé esto en 6 dispositivos y funciona en la mitad de ellos (iPhone 5) y no funciona en un iPhone 5, uno5S y uno4S.

Las balizas que utilizo son laskontakt.io balizas

Este es el código para configurar el monitoreo de la región.

    self.locationManager = [[CLLocationManager alloc] init];

    self.locationManager.delegate = self;



    NSUUID *uuid = [[NSUUID alloc] initWithUUIDString:BEACON_UUID];

    CLBeaconRegion *region = [[CLBeaconRegion alloc] initWithProximityUUID:uuid

                                                                identifier:@"regionIdentifier"];

    region.notifyOnEntry = YES;

    region.notifyOnExit = YES;

    region.notifyEntryStateOnDisplay = YES;



    [self.locationManager startMonitoringForRegion:region];

    [self.locationManager requestStateForRegion:region];

    //If I enable this line, ranging starts on all devices

//    [self.locationManager startRangingBeaconsInRegion:region];

Respuestas a la pregunta(2)

Su respuesta a la pregunta