Странное ведение журнала AQDefaultDevice
Я воспроизвожу видео с контроллера следующим образом:
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
(Смотрите, как скрыть эти журналы). Меня беспокоит, что фильм может все еще играть как-то даже после уничтожения контроллера. Что-то не так в том, как я играю в кино. Или мне нужно выполнить дополнительную очистку?
Ответы
Ответ 1
У меня возникла эта проблема, когда я использую AVPlayer Foundation на iOS Simulator (xcode 8.1). Однако он больше не регистрируется на устройствах iOS. По-моему, это ошибка журнала. Игрок или слой уничтожен.
Обновление
я получил это для вас исправить нежелательные сообщения журнала
Ответ 2
Нет, ты не делаешь ничего плохого. Это ошибка с журналами в Xcode8 + iOS10.
Мы можем обойти его таким образом (устройству и симулятору нужны разные значения):
Добавьте имя OS_ACTIVITY_MODE
и значение ${DEBUG_ACTIVITY_MODE}
и проверьте его (в разделе Product → Scheme → Edit Scheme → Run → Arguments → Environment).
![введите описание изображения здесь]()
Добавьте пользовательскую настройку DEBUG_ACTIVITY_MODE
, затем добавьте Any iOS Simulator SDK
для Debug
и установите для нее значение disable
(в Project → Настройки сборки → + → Пользовательские настройки)
![введите описание изображения здесь]()