奇怪的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
(在项目 – >生成设置 – > + – >用户定义的设置)