Я пишу приложение для iPhone и использую службы определения местоположения. Я использую метод startMonitoringSignificantLocationChanges
в CLLocationManager
. (Насколько я понимаю, это для служб определения местоположения с низким энергопотреблением и низкой точностью.) Когда я создаю и запускаю свое приложение в iOS Simulator, оно отлично определяет мое местоположение. Однако я хочу смоделировать обновления местоположения, выходящие за рамки первоначального исправления.
Я заметил эти две опции:
Оба они приемлемо работают для имитации начального исправления. (Например, , выберите «Apple» из первого или «Москва» из второго.) Однако последующие изменения любого из них НЕ будут запускать другое обновление местоположения в смоделированном приложении.
Я хочу, чтобы я получал уведомление, когда смоделированный местоположение изменяется при использовании startMonitoringSignificantLocationChanges
. (iOS Симулятор действительно генерирует серию обновлений, когда я использую вместо него startUpdatingLocation
.) Это упрощает тестирование приложений с поддержкой определения местоположения, не вынося устройство в поле.
Два вопроса:
Ура.
Чтобы ответить на вопрос @ Nevan-king, почему нет обновлений при использовании startMonitoringSignificantLocationChanges
См. Примечание Apple для func startMonitoringSignificantLocationChanges()
Приложения могут ожидать уведомление, как только устройство переместится на 500 метров или более от предыдущего уведомления. Не следует ожидать уведомлений чаще, чем раз в пять минут . Если устройство способно извлекать данные из сети, диспетчер местоположения с большей вероятностью будет своевременно доставлять уведомления.