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?

RajV
fonte
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
Possível duplicado de Ocultar estranho Xcode indesejado 8 registros
Alex Hall
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

zippo
fonte
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

Igor
fonte
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.

Dave Batton
fonte