Location Manager Error : Operation could not be completed(KCLErrorDomain error 0)
Почему возникает эта ошибка?
iphone
geolocation
MQLN
источник
источник
Ответы:
Эта ошибка возникает, если вы
Scheme/Edit Scheme/Options/Allow Location Simulation
проверили, но не установили местоположение по умолчанию. Я уверен, что есть и другие причины.источник
ОБНОВИТЬ
СПАСИБО Бену Мартену. Вы можете сделать его постоянным, выполнив следующие действия в XCode:
Кроме того, даже если вы не подключены к Wi-Fi, вы можете установить местоположение в симуляторе через пункты верхнего меню
Debug>Location
и сделать его постоянным, следуя инструкциям выше.источник
Просто у меня была эта проблема. Мне потребовалось время, чтобы найти решение, которое лишь слабо связано с ответом предыдущего автора.
Для работы CoreLocation в симуляторе iPhone / iPad должен быть включен аэропорт (WiFi) . Я был подключен через Ethernet, поэтому CL ничего не делал в симуляторе. Включите аэропорт в настройках сети и повторите попытку. Вы можете изменить порядок сетевых интерфейсов, перетащив Airport под Ethernet, если вы хотите и дальше использовать проводное соединение, а не беспроводное ...
источник
Из документации API:
Это означает, что местоположение не может быть определено.
Я предполагаю, что наиболее вероятная причина в том, что менеджер местоположения использует Wi-Fi для триангуляции местоположения, а база данных не охватывает локальные сети. Это, по-видимому, может быть исправлено пользователем, если он перейдет сюда .
Однако, как я уже отмечал, я также иногда видел это как временную ошибку при запуске программы, основанной на местоположении, в месте, где обычно работают данные о местоположении WiFi.
Наконец, я предполагаю, что эту ошибку можно увидеть, если есть какой-то аппаратный сбой.
источник
1) убедитесь, что у вас действительно есть действующее соединение WiFi и 3G
если ты это сделаешь, то
2) перейдите в настройки и сбросьте службы определения местоположения 3) сбросьте настройки сети
источник
Эта ошибка возникает, когда диспетчер местоположения не может немедленно получить информацию о местоположении. Я обнаружил, что эта ошибка возникает при вызове метода startUpdatingLocation. Для меня это происходило на iPod, но не на iPhone. Это имеет смысл, поскольку у iPhone есть больше способов (например, сотовая сеть) для получения информации о местоположении и он может получить быструю оценку местоположения, тогда как iPod требует больше времени, что привело к появлению этой ошибки на iPod.
Поскольку при возникновении этой ошибки вызывается метод locationManager: didFailWithError: делегат, можно обработать этот конкретный случай в условном операторе, сопоставив «[домен ошибки]» и «[код ошибки]» из объекта ошибки, переданного этому методу.
источник
Точная причина того, что я обнаружил, заключается в том, что существует конфликт при моделировании местоположения как в симуляторе ios «Настройки отладки», так и в настройках xcode «Редактировать схемы». Убедитесь, что вы установили местоположение пользователя по умолчанию в любом из них и отметьте другой к None решил проблему, надеюсь, это наверняка поможет. InXcode:
В симуляторе iphone / ipad:
источник
Если вы получили это в эмуляторе, выполните следующие действия.
источник
Вы можете добавить свой собственный список местоположений в Xcode для тестирования ваших приложений.
В Xcode выберите меню Debug / Simulate Location, и вам будет предложено:
Выберите «Добавить файл GPX в проект ...» и выберите созданный файл GPX.
источник
Перейдите в проект Xcode> продукт> схема> отредактируйте схему> проверьте симуляцию местоположения> установите свое местоположение> и снова запустите приложение. Надеюсь, оно сработает!
источник
Благодаря этой статье ( https://possiblemobile.com/2013/04/using-xcode-to-test-location-services/ ) мне посоветовали взглянуть на данные в моем пользовательском файле GPX, и там была обнаружена проблема.
Некоторые файлы GPX, которые вы можете получить из разных источников, могут иметь следующие элементы, указывающие разные координаты в указанном пути. Это не будет работать с имитацией местоположения Xcode.
Что вам нужно сделать, так это найти все вхождения элемента «trkpt» и заменить его на «wpt» в вашем любимом текстовом / xml-редакторе. Конечный результат должен быть примерно таким:
Надеюсь это поможет! Это, безусловно, помогло мне.
источник
Эта ошибка возникает при запуске вашей программы, но вы имитируете местоположение после запуска программы.
У меня есть метод: выйдите из симулятора и перезапустите его, затем установите местоположение симулятора перед запуском программы, и он работает для меня.
Надеюсь это поможет! Это, безусловно, помогло мне. Спасибо...
источник
все это не сработало для меня ... что сработало для меня: - установить местоположение из симулятора, чтобы
none
затем изменить его обратно наcustom
местоположение во время работы приложения.источник
В моем случае все предложения не помогли. Что помогло, так это удалить приложение с симулятора, переустановить его и разрешить доступ к местоположению (в приложении настроек).
источник
Если вы получаете это на устройстве, скорее всего, вы не просили или пользователь отказал в разрешении на сбор данных о местоположении.
источник