奇怪的AQDefaultDevicelogging

我从这样的控制器播放video:

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

即使控制器被破坏,不再使用,我每秒钟都会收到这个日志消息:

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

我不问如何隐藏这些日志。 我知道如何通过将OS_ACTIVITY_MODE设置为disable ( 请参阅 OS_ACTIVITY_MODE 了解如何隐藏这些日志 )。 我担心的是,即使在控制器被毁坏之后,电影仍可能以某种方式播放。 我玩电影的方式有什么不对吗? 还是我需要执行任何额外的清理?

我在iOS模拟器(xcode 8.1)上使用AVPlayer Foundation时遇到了这个问题,但是它不会在iOS设备上login。 在我看来这是一个日志bug。玩家或图层被破坏。


更新

我为你解决了不需要的日志消息

不,你没有做错什么。 这是Xcode8 + iOS10中的日志错误。


我们可以用这种方式绕过它(设备和模拟器需要不同的值):

添加名称OS_ACTIVITY_MODE和值${DEBUG_ACTIVITY_MODE}并检查它(在产品 – >计划 – >编辑计划 – >运行 – >参数 – >环境)。

在这里输入图像说明

添加用户定义的设置DEBUG_ACTIVITY_MODE ,然后添加Any iOS Simulator SDK Debug ,并将其值设置为disable (在项目 – >生成设置 – > + – >用户定义的设置)

在这里输入图像说明