2011-12-20 2 views
4

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

Тогда я

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. Я делаю что-то неправильно или что-то не хватает?

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

ответ

2

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

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

+0

Здравствуйте @Bill, я немного озадачен. Вы сказали, что 'значительныйLocationUpdate' не будет доступен для симулятора, потому что он использует передачи обслуживания ячеек ячейки (http://stackoverflow.com/questions/8541973/simulating-location-changes-for-startmonitoringsignificantlocationchanges). Итак, я ожидал аналогичного ответа здесь и для мониторинга региона, но ...!? Должен ли мониторинг региона работать на тренажере? (Я наблюдаю в противном случае ...) – barley

+0

Я смог проверить мониторинг области очень хорошо в симуляторе, когда он настроен правильно. Я использую настраиваемое местоположение в Debug -> Location. Я просто не видел хорошего способа проверить значительные изменения в симуляторе. Надеюсь это поможет. –

+0

Я вижу. Кажется, что в моем коде срабатывает 'didEnterRegion', но' didExitRegion' не делает. Я буду троекратно проверять свой код, когда у меня есть время. Спасибо за информацию! – barley

-1

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