Registro extraño de AQDefaultDevice


140

Estoy reproduciendo video de un controlador como este:

func playMovie() {
    let path = Bundle.main.path(forResource: "xyz", ofType:"mov")
    let url = URL(fileURLWithPath: path!)

    self.player = AVPlayer(url: url)
    let layer: AVPlayerLayer = AVPlayerLayer(player: self.player)

    layer.frame = self.view.frame
    layer.videoGravity = AVLayerVideoGravityResizeAspectFill
    self.view.layer.addSublayer(layer)

    self.player.play()
}

Incluso después de que el controlador se destruye y ya no está en uso, recibo este mensaje de registro cada segundo más o menos:

AQDefaultDevice (173): skipping input stream 0 0 0x0

No estoy preguntando cómo ocultar estos registros. Sé cómo hacerlo estableciendo OS_ACTIVITY_MODEen disable( Consulte esto para saber cómo ocultar estos registros ). Mi preocupación es que la película todavía se puede reproducir de alguna manera incluso después de que se destruya el controlador. ¿Hay algo malo en la forma en que estoy reproduciendo la película? ¿O necesito realizar alguna limpieza adicional?


Supongo que esta respuesta te quedará bien. Explica una forma de eliminar el registro con más detalles. stackoverflow.com/a/40336926/4602597
MessuKilkain

66
Mi pregunta no era sobre cómo ocultar registros no deseados. Lo dejé claro en el último párrafo. Mi pregunta era si ese registro en particular apuntaba a un recurso inédito relacionado con el AVPlayer.
RajV


La única razón por la que encontré esta pregunta (y la solución vinculada en los comentarios) es para deshabilitar este aspecto molesto del registro en un objeto reproductor multimedia, ya que interfiere con la lectura de otros registros; FWIW Pero sí, aparentemente estás haciendo las cosas bien y el registro no se está comportando como debería.
Alex Hall el

Esto es muy molesto. Pasé horas tratando de determinar por qué el jugador no se detenía y ahora, por lo que puedo decir, es un error de XCode. ¿Alguna vez encontró alguna otra respuesta @RajV?
David Vincent Gagne

Respuestas:


67

Tengo este problema cuando uso AVPlayer Foundation en iOS Simulator (xcode 8.1). Sin embargo, ya no se registra en dispositivos iOS. En mi opinión, es un error de registro. El jugador o la capa se destruyen.


actualizar

Tengo esto para que arregles los mensajes de registro no deseados


Tiene el mismo registro, no usa AVPlayer Foundation.
Dima Deplov

No estoy seguro de esto, cuando uso Xcode 7, el mensaje de registro desaparece
zippo

1
Tengo el mismo problema después de usar AVPlayer
ben

Hola chicos, tengo esto para arreglar mensajes de registro no deseados
zippo

101

No, no haces nada malo. Este es un error con los registros en Xcode8 + iOS10.


Podemos evitarlo de esta manera (el dispositivo y el simulador necesitan valores diferentes):

Agregue el nombre OS_ACTIVITY_MODEy el valor ${DEBUG_ACTIVITY_MODE}y verifíquelo (en Producto -> Esquema -> Editar esquema -> Ejecutar -> Argumentos -> Medio ambiente).

ingrese la descripción de la imagen aquí

Añadir configuración definida por el usuario DEBUG_ACTIVITY_MODE, a continuación, añadir Any iOS Simulator SDKa Debugy establecer su valor a disable(en proyecto -> configuración de generación -> + -> Configuración definida por el usuario)

ingrese la descripción de la imagen aquí


8
¿Leíste mi pregunta? Ya he dicho que puedo deshabilitar el registro usando OS_ACTIVITY_MODE. Ese no es el punto de esta pregunta.
RajV

Este es un error con los registros en Xcode8 + iOS10. - Esta es una respuesta a tu pregunta.
Igor

La pregunta que hice no es sobre cómo ocultar estos mensajes de registro. Fue, y cito, "¿Hay algo malo en la forma en que estoy reproduciendo la película. ¿O necesito realizar alguna limpieza?"
RajV

22
Una "solución" que requiere que cambie manualmente una variable de entorno, cada vez que cambio de ejecutar en el simulador a ejecutar en un dispositivo, no es una solución en absoluto.
mate

14
Si encuentra una mejor solución, díganos.
Igor

0

No es realmente una respuesta, pero es más una pista que podría ayudar a alguien a depurar esto ...

Comencé a recibir esta advertencia tan pronto como eliminé el marco de AVFoundation de mi proyecto Xcode 9 / iOS 11. Estoy usando AVFoundation (específicamente AVPlayer y AVPlayerLayer), pero aún así se ejecutó y compiló bien después de eliminar el marco del editor Linked Frameworks and Libraries del objetivo, y luego eliminarlo de la carpeta Frameworks (estaba tratando de eliminar una advertencia de tiempo de ejecución diferente) .

Agregarlo nuevamente a través del editor Linked Frameworks and Libraries eliminó las advertencias de tiempo de ejecución en la consola.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.