iOS Geofence CLCircularRegion мониторинг. locationManager: didExitRegion не работает должным образом

В настоящее время я пытаюсь настроить приложение для мониторинга определенных регионов, используяCoreLocation однако я считаю, что он не работает должным образом, мне кажется, что он не может работать с небольшим небольшим радиусом, установленным для каждого местоположения, то есть 10 м.

Я также собрал небольшое тестовое приложение, которое отображаетрадиус круга на карте, чтобы я мог визуально видеть, что происходит.

Код, который я использую для мониторинга местоположений, выглядит следующим образом:

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

// Set-up a region
CLLocationDegrees latitude = 52.64915;
CLLocationDegrees longitude = -1.1506367;
CLLocationCoordinate2D centerCoordinate = CLLocationCoordinate2DMake(latitude, longitude);

CLCircularRegion *region = [[CLCircularRegion alloc] initWithCenter:centerCoordinate
                                                                 radius:10 // Metres
                                                             identifier:@"testLocation"];

[self.locationManager startMonitoringForRegion:region];

Я не поставил здесь код дляDidEnter регион и т. д., поскольку я знаю, что это работает, когда я ухожу на расстояние более 100 м от контролируемого региона.

Вот снимок экрана приложения, когда я нахожусь на расстоянии более 10 метров от пурпурного местоположения на карте, события региона выхода не запускаются, однако, если я переключаю свойместо нахождения вЛондон он срабатывает, а также, когда я установил свойместо нахождения туда, где в данный момент находится синее местоположение, оно также срабатывает.

Кто-нибудь знает, есть ли ограничение с минимальным радиусом области вообще или возможно я делаю что-то не так.

Спасибо Аарон

Ответы на вопрос(9)

Ваш ответ на вопрос