Странное ведение журнала AQDefaultDevice

140

Я проигрываю видео с такого контроллера:

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( см это для того, как скрыть эти журналы ). Меня беспокоит, что фильм может каким-то образом воспроизводиться даже после того, как контроллер разрушен. Что-то не так в том, как я играю фильм? Или мне нужно выполнить дополнительную очистку?

RajV
источник
Думаю, этот ответ вам подходит. Он объясняет способ удаления журнала с более подробной информацией. stackoverflow.com/a/40336926/4602597
MessuKilkain
6
Мой вопрос не о том, как скрыть ненужные журналы. Я ясно дал понять это в последнем абзаце. Мой вопрос был в том, указывает ли этот конкретный журнал на неизданный ресурс, связанный с AVPlayer.
RajV
Единственная причина, по которой я нашел этот вопрос (и решение, указанное в комментариях к нему), - это отключить этот раздражающий аспект журнала для объекта мультимедийного проигрывателя, поскольку он мешает чтению других журналов; FWIW. Но да, очевидно, вы все делаете правильно, и журнал ведет себя не так, как должен.
Alex Hall
Это так раздражает. Я часами пытался определить, почему проигрыватель не останавливается, и теперь - насколько я могу судить - это ошибка XCode. Вы когда-нибудь находили другой ответ @RajV?
Дэвид Винсент Гань

Ответы:

67

У меня возникла эта проблема, когда я использую AVPlayer Foundation на iOS Simulator (xcode 8.1). Однако он больше не регистрируется на устройствах iOS. На мой взгляд, это ошибка журнала. Игрок или слой уничтожены.


Обновить

У меня есть это для вас, исправить нежелательные сообщения журнала

zippo
источник
Имеют тот же журнал, не использует AVPlayer Foundation.
Дима Деплов 09
Я не уверен в этом, когда я использую Xcode 7, сообщение журнала исчезает
zippo
1
У меня такая же проблема после использования AVPlayer
Бен
Привет, ребята, я получил это для вас, чтобы исправить нежелательные сообщения журнала
zippo
101

Нет, ты ничего плохого не делаешь. Это ошибка журналов в 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)

введите описание изображения здесь

Игорь
источник
8
Вы прочитали мой вопрос? Я уже сказал, что могу отключить ведение журнала с помощью OS_ACTIVITY_MODE. Не в этом суть вопроса.
RajV
Это ошибка журналов в Xcode8 + iOS10. - это ответ на ваш вопрос.
Игорь
Я задал вопрос не о том, как скрыть эти сообщения журнала. Это было, и я цитирую: «Что-то не так в том, как я проигрываю фильм. Или мне нужно выполнить какую-то очистку?»
RajV
22
«Решение», требующее от меня изменения переменной среды вручную, каждый раз, когда я переключаюсь с работы в симуляторе на работу на устройстве, вообще не является решением.
matt
14
Если найдете лучшее решение, сообщите нам.
Игорь
0

Не совсем ответ, но скорее подсказка, которая может помочь кому-то отладить это ...

Я начал получать это предупреждение, как только удалил фреймворк AVFoundation из своего проекта Xcode 9 / iOS 11. Я использую AVFoundation (в частности, AVPlayer и AVPlayerLayer), но он все еще работал и компилировался нормально после удаления фреймворка из целевого редактора связанных фреймворков и библиотек, а затем удаления его из папки Frameworks (я пытался устранить другое предупреждение во время выполнения) .

Добавление его обратно через редактор связанных платформ и библиотек устранило предупреждения во время выполнения в консоли.

Дэйв Баттон
источник