didFailWithError: Error Domain = kCLErrorDomain Code = 0 " La operación no se pudo completar. (Error de kCLErrorDomain 0.)"


Quiero obtener la ubicación actual, pero en su lugar recibo un error.

Este es un fragmento de mi controlador de vista.

- (void)viewDidLoad {
    self.locationManager = [[CLLocationManager alloc] init];
    [locationManager setDelegate:self];
    [locationManager setDesiredAccuracy:kCLLocationAccuracyNearestTenMeters];
    [locationManager startUpdatingLocation];
}

- (void)locationManager:(CLLocationManager *)manager 
     didUpdateLocations:(NSArray<CLLocation *> *)locations {
    // I would get the latest location here
    // but this method never gets called
}
- (void)locationManager:(CLLocationManager *)manager 
       didFailWithError:(NSError *)error {
    NSLog(@"didFailWithError: %@", error);
}

Estoy esperando que el método delegado locationManager:didUpdateLocations: sea llamado, pero en su lugar, solo locationManager:didFailWithError: es llamado, e imprime esto:

didFailWithError: Error Domain=kCLErrorDomain Code=0 "The operation couldn’t be completed. (kCLErrorDomain error 0.)" 
Author: dmzza, 2011-05-17

17 answers

  1. Compruebe que realmente tiene una conexión WiFi y 3G válida

    ...si lo haces, entonces:

  2. Vaya a configuración y restablezca sus servicios de ubicación

  3. Restablecer la configuración de red

Esto debería resolver ese problema. Está relacionado con el dispositivo / red, no con la aplicación. Es molesto, especialmente si su aplicación depende de los servicios de ubicación y el dispositivo es solo WiFi y las personas dan calificaciones negativas en la AppStore... Perdón, soy me estoy emocionando un poco.

 98
Author: MeM,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-07-14 22:47:14

Si está utilizando el simulador:

  1. Presione command + shift + , en Xcode para abrir el editor de esquemas
  2. Seleccione el esquema Run
  3. Vaya a la pestaña Opciones
  4. Comprobar Allow Location Simulation
  5. Seleccione una ubicación predeterminada en el menú desplegable

Seleccionar None como su ubicación predeterminada puede haber causado el problema.

 122
Author: silentBeep,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-27 18:20:27

Simplemente ignore este error y espere más actualizaciones o un error diferente.

Los documentos del administrador de ubicaciones dicen que este error es temporal. Le permite saber que no pudo recuperar inmediatamente una ubicación, pero continúa intentándolo. "En tal situación, simplemente puede ignorar el error y esperar un nuevo evento."Lo cual es una forma muy tonta de usar un método llamado locationManager:didFailWithError: - Gracias Apple!

Apple Documentation

 21
Author: Ray Lillywhite,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-12-19 14:08:52

Intenta reiniciar el simulador (asumiendo que eso es lo que estás usando).

Después de probar todo lo demás esto funcionó para mí.

 18
Author: Ian,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-12-19 14:07:31

Un reinicio del simulador no funcionó para mí.

Tuve que borrar todo a través de "iOS Simulator" >> "Reset Content and Settings....

 14
Author: Brandon O'Rourke,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-12-19 14:08:07

Estaba recibiendo este error en el simulador. Al hacer clic en el botón ubicación en el panel de depuración y establecer una ubicación se solucionó el problema para mí. (Asegúrese de que el botón es azul)

introduzca la descripción de la imagen aquí

 9
Author: rounak,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-12-21 21:05:46

Tengo el mismo problema. Creo que las posibles explicaciones / correcciones están cubiertas en este post SO .

 7
Author: Andy Milburn,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:10:46

Cambiar la "ubicación" en el simulador funcionó para mí.

Depurar > Ubicación > (La mía fue marcada Ninguna en lugar de Paseo en bicicleta de la ciudad por ejemplo)

 5
Author: Raphael Onofre,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-12-19 14:09:09
  1. En el simulador, vaya a Configuración > General > Restablecer > Restablecer ubicación y privacidad

  2. Salir del simulador y ejecutar la aplicación de nuevo

 5
Author: Adam Johns,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-12-19 14:11:08

Suponiendo que está utilizando el simulador, puede Debug -> Location y establecer una ubicación.

Si no tiene ninguno seleccionado, tendrá este error.

 2
Author: Rodrigo Gonzalez,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-12-19 14:07:56

Si está utilizando un custom location asegúrese de que tiene el largo y lat de la manera correcta, lo tenía invertido y desperdiciado 3 horas antes de darme cuenta...

 2
Author: Joe Maher,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-12-19 14:10:57

He visto el problema antes,hay una manera de resolverlo,pero solo puede funcionar una vez.Si desea ejecutar el proyecto de nuevo y necesita repetir la solución cada vez.

1.In Xcode, Product - > Scheme - > Edit Scheme, luego cancele el "Allow Location Simulator".

2.To el Simulador de iOS y restablecer el Contenido y la configuración.

3.De nuevo al Xcode,repita el primer paso.

4.To el simulador de iOS y reset. Entonces funcionará.

 2
Author: HsuChihYung,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-12-19 14:11:31

Problemas como este se pueden resolver estableciendo la ubicación como "Apple". Al menos funciona con fines de prueba.

 1
Author: Pandurang Yachwad,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-12-19 14:10:03
  1. He restablecido el contenido y la configuración.
  2. Datos eliminados de los datos derivados.
  3. Reinició el Xcode, y el Simulador y funcionó para mí.

De la respuesta de @Mem y muchos otros gracias

 1
Author: Arpit B Parekh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-12-19 14:11:19

Para desarrolladores devueltos :) Simplemente seleccione "Debug->Location->Freeway Drive" en el menú del Simulador. Si todavía el problema a continuación, intente después de hacer "Simulador- > Restablecer contenido y configuración" formar el menú del simulador. Esto me ayudó una vez con el mismo problema. Alguna ubicación del simulador de tiempo se establece en " Custom location" debido a que no detecta nada.

 1
Author: SaffronState,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-12-19 14:11:53

Pruebe en el dispositivo. A veces simulador no toma su ubicación.

 0
Author: Subho,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-01-10 14:02:00

Ir a casa en el simulador

Inicio- > Configuración - > Privacidad - > Ubicaciones - > seleccione la aplicación y elija siempre

 0
Author: Pratheesh B,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-12-17 09:42:31