Garip AQDefaultDevice günlüğü


140

Ben böyle bir denetleyiciden video oynuyorum:

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()
}

Denetleyici yok edildikten ve artık kullanılmadıktan sonra bile, bu günlük iletisini her saniye ya da daha fazla alıyorum:

AQDefaultDevice (173): skipping input stream 0 0 0x0

Bu günlükleri nasıl saklayacağımı sormuyorum. Ben ayarlayarak bunu nasıl biliyor OS_ACTIVITY_MODEüzere disable( bu günlükleri gizlemek için nasıl bu Bkz ). Benim endişem, kontrolör yok edildikten sonra bile filmin bir şekilde oynatılması olabilir. Filmi oynatırken yanlış olan bir şey var mı? Veya herhangi bir ek temizlik yapmam gerekir mi?


Sanırım bu cevap sana yakışacak. Günlüğü daha fazla ayrıntıyla kaldırmanın bir yolunu açıklar. stackoverflow.com/a/40336926/4602597
MessuKilkain

6
Sorum, istenmeyen günlüklerin nasıl gizleneceği ile ilgili değildi. Bunu son paragrafta açıkladım. Benim sorum, o günlüğün AVPlayer ile ilgili yayınlanmamış bir kaynağı gösterip göstermediğiydi.
RajV


Bu soruyu (ve yorumlarda bağlantılı çözüm) bulmamın tek nedeni, günlükteki bu can sıkıcı yönünü, diğer günlüklerin okunmasına müdahale ettiği için bir multimedya oynatıcı nesnesi olarak devre dışı bırakmaktır; FWIW. Ama evet, görünüşe göre işleri doğru yapıyorsun ve kütük gerektiği gibi davranmıyor.
Alex Hall

Bu çok can sıkıcı. Oyuncunun neden durmadığını belirlemek için saatler geçirdim ve şimdi - anlayabildiğim kadarıyla - bu bir XCode hatası. @RajV'da başka bir cevap buldunuz mu?
David Vincent Gagne

Yanıtlar:


67

İOS Simulator (xcode 8.1) üzerinde AVPlayer Foundation'ı kullanırken bu sorunu aldım.Ancak iOS cihazlarında artık oturum açmıyor. Bence bu bir günlük hatası. Oyuncu veya katman yok edildi.


Güncelleme

bunu istenmeyen günlük mesajlarını düzeltmek için aldım


Aynı günlüğe sahip, AVPlayer Foundation kullanmaz.
Dima Deplov

Bundan emin değilim, Xcode 7'yi kullandığımda günlük mesajı gitti
zippo

1
AVPlayer'ı kullandıktan sonra aynı sorunu yaşıyorum
ben

adamlar hey i u için kopardım istenmeyen günlük iletilerini düzeltmek
zippo

101

Hayır, yanlış bir şey yapmıyorsun. Bu, Xcode8 + iOS10'daki günlüklerle ilgili bir hatadır.


Bunu bu şekilde ele alabiliriz (cihaz ve simülatörün farklı değerlere ihtiyacı vardır):

Adı OS_ACTIVITY_MODEve Değeri ekleyin ${DEBUG_ACTIVITY_MODE}ve kontrol edin (Ürün -> Şema -> Şemayı Düzenle -> Çalıştır -> Bağımsız Değişkenler -> Ortam'da).

resim açıklamasını buraya girin

Kullanıcı Tanımlı Ayarı Ekle DEBUG_ACTIVITY_MODEeklemek sonra, Any iOS Simulator SDKiçin Debugve 's değerini disable(Projesinde -> Yapı ayarları -> + -> Kullanıcı Tanımlı Ayarı)

resim açıklamasını buraya girin


8
Sorumu okudun mu? OS_ACTIVITY_MODE kullanarak günlük kaydını devre dışı bırakabileceğimi söylemiştim. Bu sorunun amacı bu değil.
RajV

Bu, Xcode8 + iOS10'daki günlüklerle ilgili bir hatadır. - bu sorunuzun cevabı.
Igor

Sorduğum soru, bu günlük mesajlarının nasıl gizleneceği ile ilgili değil. "Filmi oynatırken yanlış olan bir şey var mı? Yoksa herhangi bir temizlik yapmam gerekiyor mu?"
RajV

22
Bir ortam değişkenini elle değiştirmemi gerektiren bir "çözüm", Simülatörde çalıştırmaktan bir cihazda çalışmaya her geçişimde hiç bir çözüm yoktur.
matt

14
Daha iyi bir çözüm bulursanız, lütfen bize bildirin.
Igor

0

Gerçekten bir cevap değil, ama birisinin bunu hata ayıklamasına yardımcı olabilecek bir ipucu ...

AVFoundation çerçevesini Xcode 9 / iOS 11 projemden kaldırır kaldırmaz bu uyarıyı almaya başladım. AVFoundation (özellikle AVPlayer ve AVPlayerLayer) kullanıyorum, ancak çerçeveyi hedefin Bağlantılı Çerçeveler ve Kütüphaneler düzenleyicisinden kaldırdıktan ve ardından Frameworks klasöründen kaldırdıktan sonra yine de iyi çalıştı ve derlendi (farklı bir çalışma zamanı uyarısını ortadan kaldırmaya çalışıyordum) .

Bağlantılı Çerçeveler ve Kitaplıklar düzenleyicisi aracılığıyla yeniden eklemek, konsoldaki çalışma zamanı uyarılarını ortadan kaldırdı.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.