как получается, что CLLocationManager получает местоположение, когда включен режим полета - PullRequest
2 голосов
/ 11 сентября 2011

Мое приложение использует CLLocationManager для получения обновлений местоположения с устройства.

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

Причина, по которой я предположил, заключается в том, что Apple говорит, что режим полета отключает Wi-Fi, сотовую связь, Bluetooth и GPS.См .: http://support.apple.com/kb/ht1355

Итак, как получается, что я получаю обновление местоположения с координатой, которая кажется разумной?

Ответы [ 2 ]

4 голосов
/ 11 сентября 2011

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

Я узнал, что, когда все службы отключены (Bluetooth, Wi-Fi, сотовые данные) CLLocationManager возвращает последнее известное местоположение, поэтому в этом случае, даже если устройство находится в режиме полета, оно вернет местоположение.

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

TL; ДР: Это не так. Возвращает последнее известное местоположение.

0 голосов
/ 11 сентября 2011

Вы можете вручную включить WiFi в режиме «В самолете» и, возможно, получить исправление GPS, если подождете достаточно долго, в зависимости от модели iDevice.

...