startMonitoringForRegion в симуляторе iPhone

Я тестирую мониторинг региона на Симуляторе. И [CLLocationManager regionMonitoringAvailable], и ​​[CLLocationManager regionMonitoringEnabled] возвращают YES. Я добавил регистры приложений для обновлений местоположения в plist. У меня есть диспетчер глобального местоположения в AppDelegate, и startUpdatingLocation отлично работает как на переднем плане, так и на заднем плане.

Тогда у меня есть

CLLocationCoordinate2D p = CLLocationCoordinate2DMake(45.488, 9.16);
CLRegion *region=[[CLRegion alloc] initCircularRegionWithCenter:p radius:100.0 identifier:@"emanuele"];
CLLocationAccuracy acc=200.0;
[locationManager startMonitoringForRegion:region desiredAccuracy:acc];

Но при тестировании на симуляторе я не могу получить ни didEnterRegion, ни MonitoringDidFailForRegion. Я что-то делаю не так или что-то упускаю?

Заранее большое спасибо.


person Emanuele Fumagalli    schedule 20.12.2011    source источник


Ответы (2)


Похоже, ваш радиус составляет всего 100 метров, но ваша точность установлена ​​​​на 200 метров. Попробуйте установить максимальную точность и посмотрите, улучшились ли результаты.

Также не похоже, что ваши координаты недостаточно точны, чтобы спуститься на 100 метров. Попробуйте более точные координаты с большей точностью. Все остальное выглядит нормально.

person Bill Burgess    schedule 21.12.2011
comment
Привет @Bill, я немного озадачен. Вы сказали, что significantLocationUpdate будет недоступен для симулятора, потому что он использует передачу обслуживания вышек сотовой связи (stackoverflow.com/questions/8541973/). Итак, я ожидал подобного ответа здесь и для мониторинга регионов, но ...!? Должен ли мониторинг регионов работать на симуляторе? (Я наблюдаю другое...) - person barley; 11.01.2012
comment
Я смог отлично протестировать мониторинг региона в симуляторе, когда он настроен правильно. Я использую пользовательское местоположение в Debug--›Location. Я просто не видел хорошего способа проверить значительные изменения в симуляторе. Надеюсь это поможет. - person Bill Burgess; 11.01.2012
comment
Я понимаю. Кажется, в моем коде didEnterRegion срабатывает, а didExitRegion нет. Я трижды проверю свой код, когда у меня будет время. Спасибо за информацию! - person barley; 11.01.2012

Я думаю, что мониторинг региона в симуляторе сломан. Мониторинг региона в моем приложении (GeoControl) работает нормально, когда он работает на устройстве, но не на симуляторе. в частности, didEnterRegion и didExitRegion не вызываются в симуляторе, когда я использую Debug > Location > FreewayDrive.

person RawMean    schedule 17.02.2013