Strange AQDefaultDevice logging

IosXcode

Ios Problem Overview


I am playing video from a controller like this:

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

Even after the controller is destroyed and no longer in use, I get this log message every second or so:

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

I am not asking how to hide these logs. I know how to do that by setting OS_ACTIVITY_MODE to disable (See this for how to hide these logs). My concern is that the movie may be still playing somehow even after the controller is destroyed. Is there anything wrong in the way I am playing the movie. Or do I need to perform any additional cleanup?

Ios Solutions


Solution 1 - Ios

No, you do nothing wrong. This is a bug with logs in Xcode8 + iOS10.


We can get round it in this way (device and simulator need different values):

Add the Name OS_ACTIVITY_MODE and the Value ${DEBUG_ACTIVITY_MODE} and check it (in Product -> Scheme -> Edit Scheme -> Run -> Arguments -> Environment).

enter image description here

Add User-Defined Setting DEBUG_ACTIVITY_MODE, then add Any iOS Simulator SDK for Debug and set it's value to disable (in Project -> Build settings -> + -> User-Defined Setting)

enter image description here

Solution 2 - Ios

I got this problem when i using AVPlayer Foundation on iOS Simulator (xcode 8.1).However it doesn't log anymore on iOS devices. In my opinion it's a log bug.The player or the layer is destroyed.


update

i got this for you fix unwanted log messages

Solution 3 - Ios

Not really an answer, but more of a clue that might help somebody debug this...

I started getting this warning as soon as I removed the AVFoundation framework from my Xcode 9/iOS 11 project. I am using AVFoundation (specifically AVPlayer and AVPlayerLayer), but it still ran and compiled fine after removing the framework from the target's Linked Frameworks and Libraries editor, and then removing it from the Frameworks folder (I was trying to eliminate a different runtime warning).

Adding it back in via the Linked Frameworks and Libraries editor eliminated the runtime warnings in the console.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionRajVView Question on Stackoverflow
Solution 1 - IosIgorView Answer on Stackoverflow
Solution 2 - IosOmniBugView Answer on Stackoverflow
Solution 3 - IosDave BattonView Answer on Stackoverflow