Etrange journalisation AQDefaultDevice

140

Je lis une vidéo à partir d'un contrôleur comme celui-ci:

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()
}

Même après que le contrôleur est détruit et n'est plus utilisé, je reçois ce message de journal toutes les secondes environ:

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

Je ne demande pas comment masquer ces journaux. Je sais comment faire cela en définissant OS_ACTIVITY_MODEsur disable( Voir ceci pour savoir comment masquer ces journaux ). Je crains que le film soit toujours en cours de lecture même après la destruction du contrôleur. Y a-t-il quelque chose qui ne va pas dans la façon dont je joue le film. Ou dois-je effectuer un nettoyage supplémentaire?

RajV
la source
Je suppose que cette réponse vous conviendra. Il explique un moyen de supprimer le journal avec plus de détails. stackoverflow.com/a/40336926/4602597
MessuKilkain
6
Ma question n'était pas de savoir comment masquer les journaux indésirables. Je l'ai précisé dans le dernier paragraphe. Ma question était de savoir si ce journal particulier pointait vers une ressource inédite liée à AVPlayer.
RajV
Possible duplication de Hide étrange journaux Xcode 8 indésirables
Alex Hall
La seule raison pour laquelle j'ai trouvé cette question (et la solution qui y est liée dans les commentaires) est de désactiver cet aspect ennuyeux du journal concernant un objet lecteur multimédia, car il interfère avec la lecture d'autres journaux; FWIW. Mais oui, apparemment, vous faites les choses correctement et le journal ne se comporte pas comme il se doit.
Alex Hall
C'est tellement ennuyeux. J'ai passé des heures à essayer de déterminer pourquoi le lecteur ne s'arrêtait pas et maintenant - pour autant que je sache - c'est un bogue XCode. Avez-vous déjà trouvé une autre réponse @RajV?
David Vincent Gagne

Réponses:

67

J'ai eu ce problème lorsque j'utilise AVPlayer Foundation sur iOS Simulator (xcode 8.1), mais il ne se connecte plus sur les appareils iOS. À mon avis, c'est un bug de journal: le joueur ou la couche est détruit.


mettre à jour

j'ai ceci pour vous corriger les messages de journal indésirables

zippo
la source
Avoir le même journal, n'utilise pas AVPlayer Foundation.
Dima Deplov
Je ne suis pas sûr à ce sujet, lorsque j'utilise Xcode 7, le message du journal est parti
zippo
1
J'ai le même problème après avoir utilisé AVPlayer
ben
hé les gars , j'ai ceci pour que vous corrigiez les messages de journal indésirables
zippo
101

Non, vous ne faites rien de mal. Il s'agit d'un bug avec les journaux dans Xcode8 + iOS10.


Nous pouvons le contourner de cette manière (l'appareil et le simulateur ont besoin de valeurs différentes):

Ajoutez le nom OS_ACTIVITY_MODEet la valeur ${DEBUG_ACTIVITY_MODE}et vérifiez-les (dans Product -> Scheme -> Edit Scheme -> Run -> Arguments -> Environment).

entrez la description de l'image ici

Ajouter un paramètre défini par l'utilisateur DEBUG_ACTIVITY_MODE, puis ajouter Any iOS Simulator SDKpour Debuget définir la valeur de à disable(dans le projet -> Paramètres Build -> + -> Paramètres définis par l' utilisateur)

entrez la description de l'image ici

Igor
la source
8
Avez-vous lu ma question? J'ai déjà dit que je pouvais désactiver la journalisation en utilisant OS_ACTIVITY_MODE. Ce n'est pas le but de cette question.
RajV
Il s'agit d'un bug avec les journaux dans Xcode8 + iOS10. - ceci est une réponse à votre question.
Igor
La question que j'ai posée n'est pas de savoir comment masquer ces messages de journal. C'était, et je cite: "Y a-t-il quelque chose qui ne va pas dans la façon dont je joue le film. Ou dois-je effectuer un nettoyage?"
RajV
22
Une «solution» qui m'oblige à modifier manuellement une variable d'environnement, chaque fois que je passe de l'exécution dans le simulateur à l'exécution sur un appareil, n'est pas du tout une solution.
mat
14
Si vous trouvez une meilleure solution, veuillez nous le dire.
Igor
0

Pas vraiment une réponse, mais plutôt un indice qui pourrait aider quelqu'un à déboguer ça ...

J'ai commencé à recevoir cet avertissement dès que j'ai supprimé le framework AVFoundation de mon projet Xcode 9 / iOS 11. J'utilise AVFoundation (en particulier AVPlayer et AVPlayerLayer), mais il a toujours fonctionné et compilé correctement après avoir supprimé le framework de l'éditeur Linked Frameworks and Libraries de la cible, puis le supprimer du dossier Frameworks (j'essayais d'éliminer un avertissement d'exécution différent) .

Le rajouter via l'éditeur de cadres et de bibliothèques liés a éliminé les avertissements d'exécution dans la console.

Dave Batton
la source