Я проигрываю видео с такого контроллера:
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
( см это для того, как скрыть эти журналы ). Меня беспокоит, что фильм может каким-то образом воспроизводиться даже после того, как контроллер разрушен. Что-то не так в том, как я играю фильм? Или мне нужно выполнить дополнительную очистку?
Ответы:
У меня возникла эта проблема, когда я использую AVPlayer Foundation на iOS Simulator (xcode 8.1). Однако он больше не регистрируется на устройствах iOS. На мой взгляд, это ошибка журнала. Игрок или слой уничтожены.
Обновить
У меня есть это для вас, исправить нежелательные сообщения журнала
источник
Нет, ты ничего плохого не делаешь. Это ошибка журналов в 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 -> Настройки Build -> + -> User-Defined Setting)источник
Не совсем ответ, но скорее подсказка, которая может помочь кому-то отладить это ...
Я начал получать это предупреждение, как только удалил фреймворк AVFoundation из своего проекта Xcode 9 / iOS 11. Я использую AVFoundation (в частности, AVPlayer и AVPlayerLayer), но он все еще работал и компилировался нормально после удаления фреймворка из целевого редактора связанных фреймворков и библиотек, а затем удаления его из папки Frameworks (я пытался устранить другое предупреждение во время выполнения) .
Добавление его обратно через редактор связанных платформ и библиотек устранило предупреждения во время выполнения в консоли.
источник