Location Manager Error : Operation could not be completed(KCLErrorDomain error 0)
¿Por qué ocurre este error?
Location Manager Error : Operation could not be completed(KCLErrorDomain error 0)
¿Por qué ocurre este error?
Respuestas:
Este error se produce si ha Scheme/Edit Scheme/Options/Allow Location Simulation
marcado pero no ha configurado una ubicación predeterminada. Estoy seguro de que también hay otras causas.
ACTUALIZAR
GRACIAS A Ben Marten Puedes hacerlo permanente siguiendo estos pasos en XCode:
- Producto> Esquema> Editar esquema
- Haga clic en Ejecutar .app
- Pestaña de opciones
- Ya marcó la ubicación principal> seleccione su ubicación
- presiona OK
Además de eso, incluso si no está conectado a wifi, puede establecer una ubicación en el simulador a través de los elementos del menú superior Debug>Location
y para que sea permanente, siga los pasos anteriores
acabo de tener este problema. Me tomó un tiempo encontrar la solución, que solo está vagamente relacionada con la respuesta del póster anterior.
El aeropuerto (WiFi) debe estar activado para que funcione CoreLocation en el simulador de iPhone / iPad. Estaba conectado a través de Ethernet, por lo que CL no hizo nada en el simulador. Encienda Airport en su configuración de red e intente nuevamente. Puede cambiar el orden de sus interfaces de red arrastrando Airport debajo de Ethernet si desea continuar favoreciendo su conexión por cable sobre su inalámbrica ...
De los documentos de la API:
CLError
Códigos de error devueltos por el objeto del administrador de ubicación.
typedef enum {kCLErrorLocationUnknown = 0, kCLErrorDenied, kCLErrorNetwork, kCLErrorHeadingFailure} CLError;
Constantes
kCLErrorLocationUnknown El administrador de ubicación no pudo obtener un valor de ubicación en este momento. Disponible en iPhone OS 2.0 y posterior. Declarado en CLError.h.
kCLErrorDenied El usuario denegó el acceso al servicio de ubicación. Disponible en iPhone OS 2.0 y posterior. Declarado en CLError.h.
kCLErrorNetwork La red no estaba disponible o se produjo un error de red. Disponible en iPhone OS 3.0by posterior. Declarado en CLError.h.
kCLErrorHeadingFailure No se pudo determinar el encabezado. Disponible en iPhone OS 3.0 y posterior. Declarado en CLError.h.
Esto significa que no se pudo determinar la ubicación.
Supongo que la causa más probable es que el administrador de ubicación está usando WiFi para triangular la ubicación y la base de datos no cubre las redes locales. Eso aparentemente puede ser arreglado por el usuario si va aquí .
Sin embargo, como señalé, también he visto esto ocasionalmente como un error transitorio al ejecutar un programa basado en la ubicación en una ubicación donde las cosas de la ubicación WiFi normalmente funcionan.
Por último, supongo que es posible ver este error si hay algún tipo de falla de hardware.
1) comprueba que tienes una conexión WiFi y 3G válida
si lo haces entonces
2) vaya a la configuración y restablezca sus servicios de ubicación 3) restablezca su configuración de red
Este error se produce cuando el Administrador de ubicaciones no puede obtener la información de ubicación de inmediato. Descubrí que este error estaba ocurriendo cuando se llamó al método startUpdatingLocation. Para mí, esto estaba sucediendo en el iPod pero no en el iPhone. Eso tiene sentido, ya que el iPhone tiene más formas (como una red celular) para obtener información de ubicación y puede obtener una estimación rápida de la ubicación, mientras que el iPod tarda más tiempo, lo que provocó que este error se generara en el iPod.
Dado que, cuando se lanza este error, se llama al método locationManager: didFailWithError: delegate, uno puede manejar este caso específico en una declaración condicional haciendo coincidir "[dominio de error]" y "[código de error]" del objeto de error pasado a este método.
La razón exacta por la que he encontrado es que hay un conflicto en la simulación de ubicación tanto en el simulador de ios "Configuración de depuración" como en la configuración de xcode "Editar esquemas". Asegúrese de establecer su ubicación de usuario predeterminada en cualquiera de estos y marque el otro a Ninguno resolvió el problema espero que esto pueda ayudar con seguridad. InXcode:
En el simulador de iphone / ipad:
Puede agregar su propia lista de ubicaciones a Xcode para probar sus aplicaciones.
Desde dentro de Xcode, seleccione el menú Depurar / Simular ubicación y se le ofrecerá:
a. "Don't Simulate Location"
b. 12 example locations
c. "Add GPX File to Project..."
Seleccione "Agregar archivo GPX al proyecto ..." y seleccione el archivo GPX que ha creado.
Gracias a este artículo ( https://possiblemobile.com/2013/04/using-xcode-to-test-location-services/ ) recibí una pista para mirar los datos en mi archivo GPX personalizado y encontré el problema.
Algunos archivos GPX que puede obtener de diferentes fuentes pueden tener los siguientes elementos que indican las diferentes coordenadas en la ruta especificada. Esto no funcionará con la simulación de ubicación de Xcode.
<gpx>
...
<trkpt lat="" lon="">
<ele></ele>
</trkpt>
...
</gpx>
Lo que debe hacer es buscar todas las apariciones del elemento "trkpt" y reemplazarlo con "wpt" en su editor de texto / xml favorito. El resultado final debería ser el siguiente:
<gpx>
<wpt lat="" lon="">
<ele></ele>
</wpt>
...
</gpx>
¡Espero que esto ayude! Ciertamente me ayudó.
Este error se produce mientras ejecuta su programa, pero simula la ubicación después de ejecutar el programa.
Obtengo un método: salga de su simulador y reinícielo, luego configure la ubicación de su simulador antes de ejecutar el programa, y funciona para mí.
¡Espero que esto ayude! Ciertamente me ayudó. Gracias...
todo esto no funcionó para mí ... lo que funcionó para mí es: - establecer la ubicación desde el simulador para none
luego volver a cambiarla a la custom
ubicación mientras la aplicación se está ejecutando.
Si recibe esto en el dispositivo, es probable que no lo haya solicitado o que el usuario le haya negado el permiso para recopilar la ubicación.