अजीब 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
मैसुकिलकेन

6
मेरा सवाल यह नहीं था कि अवांछित लॉग को कैसे छिपाया जाए। मैंने पिछले पैराग्राफ में स्पष्ट कर दिया है। मेरा प्रश्न यह था कि क्या विशेष लॉग एवीपीलेयर से संबंधित किसी अप्रबंधित संसाधन की ओर इशारा कर रहा था।
राजवी


एकमात्र कारण मुझे यह प्रश्न मिला (और इसमें टिप्पणियों में जुड़ा हुआ समाधान) लॉग के इस कष्टप्रद पहलू को अक्षम करना है मल्टीमीडिया प्लेयर ऑब्जेक्ट, क्योंकि यह अन्य लॉग पढ़ने के साथ हस्तक्षेप करता है; FWIW। लेकिन हाँ, जाहिरा तौर पर आप चीजों को सही कर रहे हैं और लॉग को व्यवहार नहीं करना चाहिए।
एलेक्स हॉल

यह कितना कष्टप्रद है। मैंने यह निर्धारित करने में घंटों बिताए कि खिलाड़ी क्यों नहीं रोक रहा था और अब तक - जहां तक ​​मैं बता सकता हूं - यह एक एक्सकोड बग है। क्या आपको कभी कोई अन्य जवाब मिला @RajV?
डेविड विंसेंट गगन

जवाबों:


67

मुझे यह समस्या तब हुई जब मैं iOS सिम्युलेटर (xcode 8.1) पर AVPlayer Foundation का उपयोग कर रहा था। जब भी यह iOS उपकरणों पर लॉग इन नहीं करता है। मेरी राय में यह एक लॉग बग है। खिलाड़ी या परत नष्ट हो जाती है।


अपडेट करें

मुझे यह आपके लिए अवांछित लॉग संदेशों को ठीक करने के लिए मिला है


एक ही लॉग है, AVPlayer फाउंडेशन का उपयोग नहीं करता है।
दिमा डेप्लोव

मैं इस बारे में निश्चित नहीं हूं, जब मैं Xcode 7 का उपयोग करता हूं, तो लॉग संदेश चला जाता है
zippo

1
मुझे AVPlayer का उपयोग करने के बाद एक ही समस्या है
बेन


101

नहीं, आप कुछ भी गलत नहीं करते हैं। यह Xcode8 + iOS10 में लॉग के साथ एक बग है।


हम इसे इस तरह से गोल कर सकते हैं (डिवाइस और सिम्युलेटर को विभिन्न मूल्यों की आवश्यकता है):

नाम OS_ACTIVITY_MODEऔर मान जोड़ें ${DEBUG_ACTIVITY_MODE}और इसे देखें (उत्पाद में -> योजना -> योजना संपादित करें -> भागो -> तर्क -> पर्यावरण)।

यहां छवि विवरण दर्ज करें

उपयोगकर्ता-निर्धारित सेटिंग DEBUG_ACTIVITY_MODEजोड़ें, फिर इसके Any iOS Simulator SDKलिए Debugमूल्य निर्धारित करें disable(प्रोजेक्ट में -> बिल्ड सेटिंग्स -> + -> उपयोगकर्ता-परिभाषित सेटिंग)

यहां छवि विवरण दर्ज करें


8
क्या आपने मेरा प्रश्न पढ़ा? मैंने पहले ही कहा है कि मैं OS_ACTIVITY_MODE का उपयोग करके लॉगिंग को अक्षम कर सकता हूं। यह इस सवाल का मुद्दा नहीं है।
राजवी

यह Xcode8 + iOS10 में लॉग के साथ एक बग है। - यह आपके प्रश्न का उत्तर है।
इगोर

मैंने जो सवाल पूछा वह इन लॉग संदेशों को छिपाने के बारे में नहीं है। यह था, और मैं बोली, "क्या मैं जिस तरह से फिल्म खेल रही हूं, उसमें कुछ भी गलत है या क्या मुझे कोई सफाई देने की जरूरत है?"
राजवी

22
एक "समाधान" जिसके लिए मुझे हाथ से पर्यावरण चर बदलने की आवश्यकता होती है, हर बार जब मैं सिम्युलेटर में चलने से डिवाइस पर चलने के लिए स्विच करता हूं, तो कोई समाधान नहीं होता है।
मैट

14
यदि आपको बेहतर समाधान मिलेगा, तो कृपया हमें बताएं।
इगोर

0

नहीं वास्तव में एक जवाब है, लेकिन एक सुराग से अधिक है कि किसी को यह डिबग मदद कर सकता है ...

जैसे ही मैंने अपने Xcode 9 / iOS 11 प्रोजेक्ट से AVFoundation फ्रेमवर्क को हटाया, मुझे यह चेतावनी मिलनी शुरू हो गई। मैं AVFoundation (विशेष रूप से AVPlayer और AVPlayerLayer) का उपयोग कर रहा हूं, लेकिन लक्ष्य के लिंक्ड फ्रेमवर्क और लाइब्रेरी संपादक से फ्रेमवर्क को हटाने के बाद यह फिर भी चला और ठीक संकलित किया गया, और फिर इसे फ्रेमवर्क फ़ोल्डर से हटा दिया गया (मैं एक अलग रनटाइम चेतावनी को खत्म करने की कोशिश कर रहा था) ।

लिंक्ड फ्रेमवर्क और लाइब्रेरी एडिटर के माध्यम से इसे वापस जोड़ना कंसोल में रनटाइम चेतावनियों को समाप्त कर दिया।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.