1 votos

¿Qué significa "KCLErrorDomain error 2" en Shortcuts?

He creado un acceso directo en mi iPad que toma una imagen como entrada, obtiene un montón de información sobre ella y, a continuación, muestra esa información en una acción "Mostrar resultado". Sigo recibiendo un mensaje que dice "KCLErrorDomain error 2". ¿Qué significa y qué puedo hacer al respecto? A shortcut with a dialog box that says “The operation couldn’t be completed. (KCLErrorDomain error 2).”

3voto

Thomas Moroney Puntos 36

No sé cómo solucionar tu problema, pero he visto errores similares antes al desarrollar aplicaciones basadas en la localización.

Has dicho que estás viendo un error "kCLErrorDomain error 2". Se trata de un CoreLocation error de marco. Más concretamente, estás viendo el "error 2". Los códigos de error para kCLErrorDomain puede verse en el CLError.h del framework:

typedef NS_ENUM(NSInteger, CLError) {
    kCLErrorLocationUnknown  = 0,         // location is currently unknown, but CL will keep trying
    kCLErrorDenied,                       // Access to location or ranging has been denied by the user
    kCLErrorNetwork,                      // general, network-related error
    kCLErrorHeadingFailure,               // heading could not be determined
    kCLErrorRegionMonitoringDenied,       // Location region monitoring has been denied by the user
    kCLErrorRegionMonitoringFailure,      // A registered region cannot be monitored
    kCLErrorRegionMonitoringSetupDelayed, // CL could not immediately initialize region monitoring
    kCLErrorRegionMonitoringResponseDelayed, // While events for this fence will be delivered, delivery will not occur immediately
    kCLErrorGeocodeFoundNoResult,         // A geocode request yielded no result
    kCLErrorGeocodeFoundPartialResult,    // A geocode request yielded a partial result
    kCLErrorGeocodeCanceled,              // A geocode request was cancelled
    kCLErrorDeferredFailed,               // Deferred mode failed
    kCLErrorDeferredNotUpdatingLocation,  // Deferred mode failed because location updates disabled or paused
    kCLErrorDeferredAccuracyTooLow,       // Deferred mode not supported for the requested accuracy
    kCLErrorDeferredDistanceFiltered,     // Deferred mode does not support distance filters
    kCLErrorDeferredCanceled,             // Deferred mode request canceled a previous request
    kCLErrorRangingUnavailable,           // Ranging cannot be performed
    kCLErrorRangingFailure,               // General ranging failure
    kCLErrorPromptDeclined,               // Authorization request not presented to user
};

Si no estás familiarizado con el código anterior, es bastante sencillo: kCLErrorLocationUnknown se asigna a 0 y los errores por debajo se incrementan en 1. Usted está viendo un código de error de 2, que se asigna a kCLErrorNetwork . El comentario asociado dice que se trata de un "error general relacionado con la red". Aunque esto es mejor que un error desconocido, lamentablemente no es lo suficientemente específico como para conocer la causa root.

Por tu captura de pantalla parece que tienes buen wifi pero podría valer la pena comprobar tu red.

Más allá de eso, no estoy seguro. Me imagino que obtener información de ubicación de la entrada probablemente extrae las coordenadas de los metadatos de la imagen y luego utiliza el CLGecoder para obtener el topónimo. El sitio documentación para CLGeocoder sugiere que podría limitar el número de solicitudes por minuto ("... en una situación típica, no debería enviar más de una solicitud de geocodificación por minuto"). La otra respuesta de @F-erry evita esto construyendo en su lugar una URL para obtener la ubicación a partir de las coordenadas.

Pero en resumen, ese error sugiere un error general de la red. Comprueba tu red y prueba el atajo en diferentes redes y dispositivos.

0voto

F-erry Puntos 21

Tengo un problema similar y en reddit He encontrado a otra persona con un problema similar y sin solución.

El error KCLErrorDomain podría ser provocado por una API de localización de Apple. En este punto estoy adivinando, pero es una conclusión que saco basándome en un pregunta Lo he visto en stackoverflow. Donde alguien está escribiendo código Swift y obtiene el error KCLErrorDomain. Las respuestas a esa pregunta en particular sugiere un error de red o API de aceleración.

En mi acceso directo puedo excluir el error de red o el estrangulamiento api.

Eso deja otra causa con la API de localización todavía en su lugar. Así que experimenté un poco más y me di cuenta de que la información de ubicación de una imagen o un vídeo es diferente de otra información de ubicación, por ejemplo, la información de ubicación que se puede obtener del servicio meteorológico.

Como tal, este KCLErrorDomain podría ser un error en Shortcuts porque la información de ubicación no puede ser procesada correctamente por la API y esto es algo que sólo apple puede solucionar.

para futuras referencias: Actualmente estoy en ios 15.6

He encontrado una solución

No es muy rápido, pero funciona. No pude hacerlo funcionar sin el paso Obtener distancia aunque este paso parece inútil para el resultado deseado.

enter image description here

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X