Сбой CLLocationManager на симуляторе iPhone с кодом kCLErrorDomain=0

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

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

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

приложение предназначено для включения кнопки "Добавить" при получении первого обновления местоположения, чтобы пользователи могли отслеживать свои местоположения, но ничего не делает.

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

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

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

спасибо.

13 ответов


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

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


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

  1. в меню симулятора: Reset Content and Settings....
  2. закрыть симулятор
  3. перезапустить приложение.

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

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

2) Перейдите в меню отладка - > расположение - > выберите Apple, как ваш обычай местоположение.

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


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

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


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


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

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

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

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

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

Я сделал это по ошибке, и ее место на моем iMac.


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 он продолжает терпеть неудачу; что указывает на симулятор как на виновника.


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


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

Apple-пожалуйста, исправьте это! : P


В Симуляторе Xcode 7:

Оборудование > Перезагрузка

(мягче, чем "сброс содержимого и настроек")


Я обычно подключен к Ethernet, выполняя тестирование симулятора - я получил этот сбой. Включил WIFI, но не использовал его для передачи данных (ни к чему не подключался) - теперь все работает.

Итак, решение было-просто включите WIFI (Я также вышел и перезапустил симулятор, не уверен, что это необходимо).

Лев и Xcode 4.2


Это все еще происходит в iOS 5.0.1 при следующих условиях:

  1. запустить симулятор в ситуации без подключения wi-fi
  2. подключение к сети wi-fi
  3. [результат] CLLocationManager завершается с ошибкой, описанной в этом вопросе.
  4. [Fix] Перезапустить Симулятор

сначала перейдите в панель журнала Xcode и установите "не имитировать местоположение". Затем выберите меню симулятора>отладка>расположение>установить пользовательский или выберите любой.