Менеджер местоположения не контролирует маяки

Я не получаю события входа в регион и выхода из регионов маяка. Вот как я добавляю маяк в monitoredRegions:

NSUUID *uuid = [[NSUUID alloc] initWithUUIDString: beacon.UUID];
CLBeaconRegion *region = [[CLBeaconRegion alloc] initWithProximityUUID:      uuid major: (CLBeaconMajorValue) beacon.major  minor: (CLBeaconMajorValue) beacon.minor  identifier:  @"SOME IDENTIFIER"];

[_locationManager startMonitoringForRegion: region];

и события:

- (void) locationManager: (CLLocationManager *) manager didEnterRegion:   (CLRegion *) region
{
    NSLog(@"entered  beacon region");
}

- (void) locationManager: (CLLocationManager *) manager didExitRegion: (CLRegion *) region
{
    NSLog(@"exited beacon region");
}

Ни одно из этих событий делегата не предназначено для этой области маяка.

Я проверил это с географическими регионами, и это работает, но это просто не работает для моего маяка. Также я проверил ранжирование на этом самом маяке, который работает.

Есть ли известные проблемы с мониторингом маяка?

Большое спасибо

1 ответ

Привет @ldsarria Проверьте мои шаги, это работает для меня

Шаг 1: Установите delgate в файле.h CLLocationManagerDelegate

Шаг 2:

locationManager = [[CLLocationManager alloc] init];
        locationManager.delegate = self;
        locationManager.desiredAccuracy = kCLLocationAccuracyBest;
        locationManager.distanceFilter = kCLDistanceFilterNone;

Шаг 3:

NSUUID *uuid = [[NSUUID alloc] initWithUUIDString:@"SOME IDENTIFIER"];
        CLBeaconRegion *region = [[CLBeaconRegion alloc] 
        initWithProximityUUID:uuid identifier:@"com.test.abc"];
                region.notifyEntryStateOnDisplay =YES;
                [locationManager startMonitoringForRegion:region];

Шаг 4: Установите NSLocationAlwaysUsageDescription = "Это приложение нуждается в вашем местоположении, чтобы охотиться за сокровищами."

Ура!!!

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