CLLocationManager на iPhone Simulator завершается ошибкой с кодом kCLErrorDomain = 0 - PullRequest
41 голосов
/ 24 июня 2010

CLLocationManager на iPhone Simulator должен подделать Купертино (не так ли?), Но это не так, вместо этого произойдет сбой с kCLErrorDomain Code=0.Делегат LocationManager получает сообщение didFailWithError.Этот метод реализован для регистрации ошибки, и консоль выводит следующее:

Error Domain=kCLErrorDomain Code=0 "The operation couldn’t be completed. (kCLErrorDomain error 0.)"

Я работал над реальным проектом, когда столкнулся с этой проблемой, но обсуждать мой код бессмысленно, потому что я скачал "Locations""образец кода (обновлен 2010-06-22 для iOS 4) из центра разработчиков, и проблема не устранена.

В приложении предусмотрено включение кнопки« добавить »при получении первого обновления местоположения, чтобы пользователи моглиотслеживать их местоположение, но это ничего не делает.

Я добавил одну (тривиальную) строку для реализации didFailWithError, чтобы регистрировать ошибки, если таковые имеются.Я получаю ошибку, описанную выше.

С Xcode 3.2.2 и таргетингом на 3.1.3 я мог получить фиксированное местоположение (Купертино) при запуске более старой версии проекта «Местоположения».

Может кто-нибудь помочь?

Спасибо.

Ответы [ 13 ]

63 голосов
/ 18 июня 2013

Эта ошибка также возникает, если у вас отмечена Схема / Редактировать схему / Параметры / Разрешить симуляцию местоположения, но не задано местоположение по умолчанию.

Пожалуйста, проверьте это, это может решить вашу проблему.

19 голосов
/ 02 декабря 2011

Следующие шаги исправили мою проблему:

  1. В меню симулятора: Reset Content and Settings....
  2. Закрыть симулятор
  3. Перезапустите приложение.
9 голосов
/ 23 октября 2012

Я столкнулся с такой же ситуацией и выполнил следующие действия, может быть, это поможет:)

1) Перейти в Симулятор (в зависимости от версии)

2) Зайдите в меню «Отладка» -> «Расположение» -> выберите Apple в качестве своего место.

это начало работать в моем случае ..

7 голосов
/ 26 июня 2010

Я слышал это reported before, но никогда сам этого не видел, только сейчас. Я отключил Аэропорт на моем MacBook, так как использовал Ethernet. Я включил Аэропорт и перезапустил симулятор, и теперь он работает.

Вам необходимо включить Wi-Fi (Airport) на вашем Mac, чтобы симулятор мог сообщать о местоположении с Xcode 3.2.3.

6 голосов
/ 03 мая 2013

Эта ошибка также возникает, если вы отметили Scheme/Edit Scheme/Options/Allow Location Simulation, но местоположение по умолчанию не установлено.

5 голосов
/ 19 октября 2011

Он сделал то же самое для меня:

Сначала он показывал местоположение, затем я установил бета-версию XCode 4.2, затем, когда я вернулся в 4.1, местоположение больше не показывалось, и CLLocationManager выдавал ошибку местоположения.

Я сделал следующее, и проблема была устранена (я не знаю, требуются ли оба действия или достаточно одного, потому что теперь это работает и не может воспроизвести):

Запустите симулятор затем:

  • отключить сетевой кабель
  • изменить устройство в симуляторе на iPhone (сетчатка): Железо> Устройство> iPhone (сетчатка)

Я сделал это по ошибке, и он зафиксировал местоположение на моем iMac.

3 голосов
/ 20 октября 2011

CLLocationManager снова начал работать, как и ожидалось, на iOS Simulator 5.0 .

По моему опыту, раньше он не работал последовательно с kCLErrorDomain Code=0 на iOS Simulator с 4.0 по 4.3 . Включение аэропорта и подключение к Wi-Fi, как подсказывают другие ответы, в моем случае не помогло. Тем не менее, я хотел бы поблагодарить всех за ответы. Я просто обошел эту проблему, протестировав весь код расположения ядра на устройстве.

Недавно я обновился до XCode 4.2 (с XCode 3.2.6) и iOS Simulator 5.0, который поставляется с ним, и в результате я заметил, что CLLocationManager снова начал работать, как и ожидалось. При выборе более старого симулятора в XCode 4.2 он продолжает давать сбой; который указывает на симулятор как тот, кто виноват.

2 голосов
/ 18 ноября 2015

В Xcode 7 Simulator:

Аппаратное обеспечение> Перезагрузка

(мягче, чем «Сбросить содержимое и настройки»)

2 голосов
/ 10 февраля 2011

Я продолжал получать сообщение об ошибке, пока я не включил свой Аэропорт и не подключился к сети Wi-Fi (не уверен, что я вообще должен быть в этой сети!) ... и CLLocationManager работал после того, как давным-давно терпел неудачу.Это огромная ошибка симулятора или что?

Apple - ПОЖАЛУЙСТА, исправьте это!: P

2 голосов
/ 28 декабря 2010

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

...