CLLocationManager на iPhone симулятор терпит неудачу с kCLErrorDomain Code = 0
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) из центра dev и проблемы сохранялось.
Приложение будет предложено включить кнопку "добавить", когда получит первое обновление местоположения, чтобы пользователи могли отслеживать их местоположения, но ничего не делает.
Я добавил одну (тривиальную) строку для реализации didFailWithError
для регистрации ошибок, если таковые имеются. Я получаю ошибку, описанную выше.
С Xcode 3.2.2 и таргетингом 3.1.3 я могу получить фиксированное местоположение (Cupertino) при запуске старой версии проекта "Locations".
Может ли кто-нибудь помочь?
Спасибо.
Ответы
Ответ 1
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
Эта ошибка также возникает, если у вас есть схема Scheme/Edit Scheme/Options/Allow Location Simulation, но у вас нет установленного по умолчанию местоположения.
Пожалуйста, проверьте это, чтобы решить вашу проблему.
Ответ 3
Следующие шаги исправили мою проблему:
- В меню Simulator:
Reset Content and Settings...
. - Закройте симулятор
- Перезагрузите приложение.
Ответ 4
Я столкнулся с такой же ситуацией и последовал этим шагам, может быть, это помогает:)
1) Перейдите к Simulator (в зависимости от версии)
2) Перейдите в меню "Отладка" → "Расположение" → Выберите "Apple" в качестве пользовательского местоположение и др.
он начал работать в моем случае.
Ответ 5
Я слышал это reported before
, но никогда не видел его до тех пор, пока только сейчас. Я отключил аэропорт на своем MacBook, так как я использовал ethernet. Я включил аэропорт и перезапустил симулятор, и теперь он работает.
Для вашего симулятора вам нужен Wi-Fi (аэропорт), чтобы симулятор сообщал о позиции с Xcode 3.2.3.
Ответ 6
Эта ошибка также возникает, если у вас установлен Scheme/Edit Scheme/Options/Allow Location Simulation
, но у вас нет установленного по умолчанию местоположения.
Ответ 7
Он сделал то же самое со мной:
Сначала он показал местоположение, затем я установил бета-версию XCode 4.2, а затем, когда я вернулся к 4.1, местоположение больше не показывалось, а CLLocationManager
выбрасывало ошибку местоположения.
Я сделал следующее, и проблема была исправлена (я не знаю, требуются ли оба действия или только один будет достаточным, потому что теперь он работает и не может воспроизвести):
Запустите симулятор, а затем:
- отключите сетевой кабель
- измените устройство в симуляторе на iPhone (сетчатка): Оборудование > Устройство > iPhone (Retina)
Я сделал это по ошибке, и он зафиксировал местоположение на моем iMac.
Ответ 8
Аэропорт должен быть включен, и вы должны присоединиться к сети. По крайней мере, это был мой опыт. Когда я только включил его, я все равно получил ту же ошибку. Присоединился к беспроводной сети, и ошибка исчезла.
Ответ 9
Я продолжал получать сообщение об ошибке, пока не включил свой аэропорт и не подключился к Wi-Fi-сети (не уверен, что я даже должен быть на этом!)... и CLLocationManager
работал после неудачной последовательности на протяжении веков. Это огромная ошибка симулятора или что?!
Apple - ПОЖАЛУЙСТА, исправьте это!: P
Ответ 10
В Xcode 7 Simulator:
Оборудование > Перезагрузка
(Мягче чем Reset Содержание и настройки ")
Ответ 11
Я, как правило, подключен к Ethernet, выполняя тестирование Simulator - у меня этот провал. Включил WIFI, но не использовал его для данных (не подключался ни к чему) - теперь все работает.
Итак, решение было - просто включите WIFI (я также ушел и перезапустил Simulator, не уверен, если понадобится).
Lion и Xcode 4.2
Ответ 12
Это все еще происходит в iOS 5.0.1 при следующих условиях:
- Запустить симулятор в ситуации без соединения wi-fi
- Подключение к Wi-Fi сети
- [Результат] CLLocationManager завершился с ошибкой, описанной в этом вопросе.
- [Fix] Перезапустить симулятор
Ответ 13
Сначала перейдите в панель журналов Xcode и установите "Не моделировать местоположение".
Затем выберите меню симуляторa > debug > location > set custom или выберите любой.