Je joue la vidéo à partir d'un contrôleur comme ceci:
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 soit détruit et ne soit plus utilisé, je reçois ce message de journalisation toutes les secondes environ:
AQDefaultDevice (173): skipping input stream 0 0 0x0
Je ne demande pas comment cacher ces journaux. Je sais comment faire cela en définissant OS_ACTIVITY_MODE
sur disable
( Voir ceci pour savoir comment masquer ces journaux ). Mon inquiétude est que le film peut encore être lu même après la destruction du contrôleur. Y at-il quelque chose qui cloche dans la façon dont je joue le film? Ou dois-je effectuer un nettoyage supplémentaire?
J'ai eu ce problème lorsque j'utilise AVPlayer Foundation sur iOS Simulator (xcode 8.1). Cependant, il ne se connecte plus sur les appareils iOS. À mon avis, c'est un bogue du journal. Le joueur ou la couche est détruit.
mise à jour
je l'ai eu pour vous corriger les messages de journal indésirables
Non, vous ne faites rien de mal. Ceci est un bogue 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_MODE
et la valeur ${DEBUG_ACTIVITY_MODE}
et vérifiez-le (dans Product -> Scheme -> Edit Scheme -> Run -> Arguments -> Environment).
Ajoutez le paramètre défini par l'utilisateur DEBUG_ACTIVITY_MODE
, puis ajoutez Any iOS Simulator SDK
pour Debug
et définissez sa valeur sur disable
(dans Projet -> Paramètres de construction -> + -> Paramètre défini par l'utilisateur )
Pas vraiment une réponse, mais plutôt un indice qui pourrait aider quelqu'un à déboguer ceci ...
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 fonctionne toujours et est bien compilé après la suppression de la structure de l'éditeur de Frameworks and Libraries lié à la cible, puis de son retrait du dossier Frameworks (j'essayais d'éliminer un autre avertissement d'exécution). .
La réintégration via l'éditeur de cadres et de bibliothèques liés a éliminé les avertissements d'exécution de la console.