es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo puede ser [UIImagePickerController.InfoKey.phAsset] nulo como PHAsset?

Envié a un usuario una versión de TestFlight de mi aplicación. Ella tiene un video grabado que hizo con su iPhone. Cuando se presentó el imagePicker y seleccionó un video, regresó como nulo. Tengo un mensaje de error con el número 120 que aparece en una alerta y me indica dónde ocurrió el error.

Solo puede ser que el recurso [UIImagePickerController.InfoKey.phAsset] as? PHAsset sea nil. No entiendo cómo es posible, porque es un video que ella hizo con su teléfono. Lo extraño es que cuando selecciona una foto, todo funciona bien, y cuando selecciono videos usando iOS 14 y iOS 13, todo funciona bien.

Ella está en iOS 15.1 y me pregunto si ese es el problema. Ella es una desarrolladora de iOS como yo y dijo que iOS 15 ha estado causando problemas.

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {

    let asset = info[UIImagePickerController.InfoKey.phAsset] as? PHAsset
    // ...

    if let style = asset?.playbackStyle {

        // ...
        // si entra aquí, entonces la siguiente alerta nunca aparecería

    } else {

        let errorMessage = "Error: 120"
        let alert = UIAlertController(title: "Error desconocido", message: errorMessage, preferredStyle: .alert)
        // ...
    }

    imagePicker?.dismiss(animated: true, completion: nil)
}

Por cierto, luego probé en iOS 15.1 con algunos videos y funcionó bien.

Intenté usar PHPickerController, pero es muy problemático, así que preferiría seguir usando ImagePicker por ahora.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Problema con UIImagePickerController y iOS 15.1

    Como experto en TI especializado en iOS, Swift y UIImagePickerControler, el problema que enfrenta el usuario con UIImagePickerController se puede resolver verificando el valor nulo de la clave [UIImagePickerController.InfoKey.phAsset] en el método de delegado didFinishPickingMediaWithInfo.

    El problema podría deberse a que el usuario está ejecutando iOS 15.1, lo que podría estar causando problemas de compatibilidad con UIImagePickerController. Se recomienda probar la aplicación en las últimas versiones de iOS para garantizar la compatibilidad con las últimas funciones y actualizaciones.

    El desarrollador ya ha probado la aplicación en iOS 15.1 y ha confirmado que funciona bien con videos, lo que indica que el problema podría ser específico del dispositivo del usuario. Sin embargo, aún vale la pena investigar si hay algún problema conocido con UIImagePickerController y iOS 15.1.

    El desarrollador también ha probado PHPickerController, pero ha encontrado algunos errores y ha decidido seguir usando UIImagePickerController por ahora. Es importante seguir probando diferentes soluciones y estar atento a cualquier actualización de UIImagePickerController y otras API relevantes para garantizar un funcionamiento óptimo y una experiencia de usuario satisfactoria.

Comments are closed.