Log AQDefaultDevice estranho


140

Estou reproduzindo vídeo de um 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()
}

Mesmo depois que o controlador é destruído e não está mais em uso, recebo esta mensagem de log a cada segundo ou mais:

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

Não estou perguntando como ocultar esses logs. Eu sei como fazer isso definindo OS_ACTIVITY_MODEpara disable( Veja isso para ocultar esses logs ). Minha preocupação é que o filme ainda esteja sendo reproduzido de alguma forma, mesmo depois que o controlador for destruído. Existe algo de errado na maneira como estou interpretando o filme. Ou preciso executar uma limpeza adicional?


Eu acho que essa resposta vai se encaixar em você. Explica uma maneira de remover o log com mais detalhes. stackoverflow.com/a/40336926/4602597
MessuKilkain 10/11

6
Minha pergunta não era sobre como ocultar logs indesejados. Eu deixei isso claro no último parágrafo. Minha pergunta era se esse log específico estava apontando para um recurso não lançado relacionado ao AVPlayer.
RajV


A única razão pela qual encontrei essa pergunta (e a solução vinculada nos comentários) é desativar esse aspecto irritante do log como um objeto de player multimídia, pois interfere na leitura de outros logs; FWIW. Mas sim, aparentemente você está fazendo as coisas corretamente e o log não está se comportando como deveria.
Alex Hall

Isso é tão chato. Passei horas tentando determinar por que o player não estava parando e agora - até onde eu sei - é um bug do XCode. Você já encontrou outra resposta @RajV?
David Vincent Gagne

Respostas:


67

Eu tenho esse problema ao usar o AVPlayer Foundation no iOS Simulator (xcode 8.1) .No entanto, ele não registra mais em dispositivos iOS. Na minha opinião, é um bug de log.O jogador ou a camada é destruída.


atualizar

Eu tenho isso para você corrigir mensagens de log indesejadas


Tem o mesmo log, não usa o AVPlayer Foundation.
Dima Deplov

Eu não tenho certeza sobre isso, quando eu uso o Xcode 7, a mensagem de log é gone
Zippo

1
Eu tenho o mesmo problema depois de usar o AVPlayer
ben

Ei, eu tenho isso para u corrigir mensagens de log indesejados
Zippo

101

Não, você não faz nada errado. Este é um erro nos logs do Xcode8 + iOS10.


Podemos contorná-lo desta maneira (o dispositivo e o simulador precisam de valores diferentes):

Adicione o Nome OS_ACTIVITY_MODEe o Valor ${DEBUG_ACTIVITY_MODE}e verifique-o (em Produto -> Esquema -> Editar Esquema -> Executar -> Argumentos -> Ambiente).

insira a descrição da imagem aqui

Adicionar configuração definida pelo usuário DEBUG_ACTIVITY_MODE, em seguida, adicione Any iOS Simulator SDKpor Debuge configurá-lo de valor para disable(em Projeto -> configurações de compilação -> + -> configuração definida pelo usuário)

insira a descrição da imagem aqui


8
Você leu minha pergunta? Eu já disse que posso desativar o log usando OS_ACTIVITY_MODE. Esse não é o objetivo desta pergunta.
RajV

Este é um erro nos logs do Xcode8 + iOS10. - esta é uma resposta para sua pergunta.
Igor

A pergunta que fiz não é sobre como ocultar essas mensagens de log. Foi, e cito: "Há algo errado na maneira como estou interpretando o filme. Ou preciso fazer alguma limpeza?"
RajV 23/11

22
Uma "solução" que exige que eu mude uma variável de ambiente manualmente, toda vez que eu alterno da execução no Simulador para a execução em um dispositivo, não há solução.
Matt

14
Se você encontrar uma solução melhor, informe-nos.
Igor

0

Não é realmente uma resposta, mas mais uma pista que pode ajudar alguém a depurar isso ...

Comecei a receber esse aviso assim que removi a estrutura do AVFoundation do meu projeto do Xcode 9 / iOS 11. Estou usando o AVFoundation (especificamente AVPlayer e AVPlayerLayer), mas ele ainda foi executado e compilado corretamente após remover a estrutura do editor de Frameworks e bibliotecas vinculadas do destino e removê-lo da pasta Frameworks (eu estava tentando eliminar um aviso de tempo de execução diferente) .

Adicioná-lo novamente através do editor de Frameworks e bibliotecas vinculadas eliminou os avisos de tempo de execução no console.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.