Из документации API:
CLError
Коды ошибок, возвращаемые местоположением
менеджер объекта.
typedef enum {kCLErrorLocationUnknown
= 0, kCLErrorDenied, kCLErrorNetwork, kCLErrorHeadingFailure} CLError;
Константы
kCLErrorLocationUnknown Местоположение
менеджер не смог получить
значение местоположения прямо сейчас. Доступно в
iPhone OS 2.0 и выше. Объявлено в
CLError.h.
kCLErrorDenied Доступ к местоположению
обслуживание было отклонено пользователем.
Доступный в iPhone OS 2.0 и позже.
Объявлено в CLError.h.
kCLErrorNetwork Сеть была
недоступен или ошибка сети
произошло. Доступно в iPhone OS 3.0b
и позже. Объявлено в CLError.h.
kCLErrorHeadingFailure Заголовок
не может быть определено. Доступно в
iPhone OS 3.0 и выше. Объявлено в
CLError.h.
Таким образом, это означает, что местоположение не может быть определено.
Я полагаю, что наиболее вероятной причиной является то, что менеджер местоположений использует WiFi для триангуляции местоположения, а база данных не охватывает локальные сети. Это, очевидно, может быть исправлено пользователем, если они идут здесь .
Однако, как я уже отмечал, я иногда видел это как временную ошибку при запуске программы на основе определения местоположения в месте, где обычно работает функция определения местоположения WiFi.
Наконец, я думаю, что возможно увидеть эту ошибку, если есть какой-то сбой оборудования.