Дивний журнал 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( см це для того, як приховати ці журнали ). Мене хвилює те, що фільм може все-таки відтворюватися якось навіть після знищення контролера. Чи є щось не так у тому, як я граю фільм. Або мені потрібно проводити будь-яку додаткову очистку?


Я думаю, ця відповідь вам підійде. Це пояснює спосіб видалення журналу з більш детальною інформацією. stackoverflow.com/a/40336926/4602597
MessuKilkain

6
Моє запитання полягало не в тому, як приховати небажані журнали. Я зрозумів це в останньому абзаці. Моє запитання полягало в тому, чи вказаний конкретний журнал вказував на невиданий ресурс, пов'язаний з AVPlayer.
RajV


Єдиною причиною, що я знайшов це питання (і рішення, пов'язане в коментарях до нього), є відключення цього докучливого аспекту журналу про об'єкт мультимедійного плеєра, оскільки він заважає читати інші журнали; FWIW. Але так, мабуть, ви все робите правильно, і колод веде себе не так, як слід.
Алекс Холл

Це так дратує. Я витрачав години, намагаючись визначити, чому гравець не зупинявся, і тепер - наскільки я можу сказати - це помилка XCode. Чи знайшли ви коли-небудь іншу відповідь @RajV?
Девід Вінсент Ганьє

Відповіді:


67

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


оновлення

я отримав це для того, щоб виправити небажані повідомлення журналу


У тому ж журналі, не використовується AVPlayer Foundation.
Діма Деплов

Я не впевнений у цьому, коли я використовую Xcode 7, повідомлення журналу
відпало

1
У мене така ж проблема після використання AVPlayer
ben


101

Ні, ви нічого поганого не робите. Це помилка з журналами в Xcode8 + iOS10.


Ми можемо їх обійти таким чином (пристрою та симулятору потрібні різні значення):

Додайте ім'я OS_ACTIVITY_MODEта значення ${DEBUG_ACTIVITY_MODE}та перевірте це (у Продукт -> Схема -> Редагувати схему -> Виконати -> Аргументи -> Навколишнє середовище).

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

Додати визначаються користувачем Налаштування DEBUG_ACTIVITY_MODE, а потім додати Any iOS Simulator SDKдо Debugі встановіть його значення disable(в Project -> Налаштування Build -> + -> User-Defined Setting)

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


8
Ви читали моє запитання? Я вже сказав, що я можу відключити ведення журналу за допомогою OS_ACTIVITY_MODE. Це не сенс цього питання.
RajV

Це помилка з журналами в Xcode8 + iOS10. - це відповідь на ваше запитання.
Ігор

Я запитав питання не про те, як приховати ці повідомлення журналу. Це було, і я цитую: "Чи є щось не так у тому, як я знімаю фільм. Або мені потрібно проводити чистку?"
RajV

22
"Рішення", яке вимагає від мене змінити змінну середовища вручну, кожен раз, коли я перемикаюсь із запуску в Симуляторі на роботу на пристрої, взагалі не є рішенням.
мат

14
Якщо ви знайдете краще рішення, скажіть, будь ласка, нам.
Ігор

0

Насправді не відповідь, але більше підказки, яка може допомогти комусь налагодити це ...

Я почав отримувати це попередження, як тільки видалив рамку AVFoundation зі свого проекту Xcode 9 / iOS 11. Я використовую AVFoundation (зокрема AVPlayer і AVPlayerLayer), але він все-таки запускався і добре склався після вилучення рамки з цільового редактора Linked Frameworks and Libraries, а потім видалення її з папки Frameworks (я намагався усунути інше попередження виконання) .

Додавання його назад через редактор "Зв'язані рамки та бібліотеки" усунуло попередження про виконання на консолі.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.