บันทึกการ 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 แต่ใช่เห็นได้ชัดว่าคุณกำลังทำสิ่งที่ถูกต้องและบันทึกไม่ได้ทำงานตามที่ควร
Alex Hall

มันน่ารำคาญมาก ฉันใช้เวลาหลายชั่วโมงในการพิจารณาว่าทำไมผู้เล่นถึงไม่หยุดและตอนนี้เท่าที่ฉันจะบอกได้ - มันเป็นข้อผิดพลาดของ XCode คุณเคยพบคำตอบอื่น ๆ ของ @RajV หรือไม่?
David Vincent Gagne

คำตอบ:


67

ฉันพบปัญหานี้เมื่อฉันใช้ AVPlayer Foundation บน iOS Simulator (xcode 8.1) อย่างไรก็ตามมันจะไม่บันทึกอีกต่อไปบนอุปกรณ์ iOS ในความคิดของฉันมันเป็นบั๊กบันทึกผู้เล่นหรือเลเยอร์ถูกทำลาย


ปรับปรุง

ฉันได้สิ่งนี้เพื่อคุณแก้ไขข้อความบันทึกที่ไม่ต้องการ


มีบันทึกเดียวกันห้ามใช้ AVPlayer Foundation
Dima Deplov

ฉันไม่แน่ใจเกี่ยวกับเรื่องนี้เมื่อฉันใช้ Xcode 7 ข้อความบันทึกจะหายไป
zippo

1
ฉันมีปัญหาเดียวกันหลังจากใช้ AVPlayer
เบน

เฮ้พวกฉันได้รับสิ่งนี้เพื่อ แก้ไขข้อความบันทึกที่ไม่พึงประสงค์
zippo

101

ไม่คุณไม่ทำอะไรผิด นี่เป็นข้อผิดพลาดกับบันทึกใน Xcode8 + iOS10


เราสามารถปัดเศษด้วยวิธีนี้ (อุปกรณ์และเครื่องมือจำลองต้องการค่าต่างกัน):

เพิ่มชื่อOS_ACTIVITY_MODEและค่า${DEBUG_ACTIVITY_MODE}และตรวจสอบ (ในผลิตภัณฑ์ -> โครงการ -> แก้ไขโครงการ -> เรียกใช้ -> อาร์กิวเมนต์ -> สภาพแวดล้อม)

ป้อนคำอธิบายรูปภาพที่นี่

เพิ่มการตั้งค่าผู้ใช้กำหนดDEBUG_ACTIVITY_MODEแล้วเพิ่มAny iOS Simulator SDKสำหรับDebugและตั้งค่าของมันไปdisable(ในโครงการ -> การตั้งค่ารูปร่าง -> + -> การตั้งค่าผู้ใช้กำหนด)

ป้อนคำอธิบายรูปภาพที่นี่


8
คุณอ่านคำถามของฉัน ฉันได้กล่าวไปแล้วว่าฉันสามารถปิดใช้งานการบันทึกโดยใช้ OS_ACTIVITY_MODE นั่นไม่ใช่ประเด็นของคำถามนี้
RajV

นี่เป็นข้อผิดพลาดกับบันทึกใน Xcode8 + iOS10 - นี่คือคำตอบสำหรับคำถามของคุณ
อิกอร์

คำถามที่ฉันถามไม่ได้เกี่ยวกับวิธีซ่อนข้อความบันทึกเหล่านี้ มันเป็นและฉันพูดว่า "มีอะไรผิดปกติในวิธีที่ฉันเล่นภาพยนตร์หรือฉันต้องทำการล้างข้อมูลใด ๆ ?"
RajV

22
"วิธีแก้ปัญหา" ที่ต้องการให้ฉันเปลี่ยนตัวแปรสภาพแวดล้อมด้วยมือทุกครั้งที่ฉันเปลี่ยนจากการทำงานในเครื่องมือจำลองเป็นการทำงานบนอุปกรณ์จะไม่มีวิธีแก้ปัญหาเลย
ด้าน

14
หากคุณจะพบทางออกที่ดีกว่าโปรดบอกเรา
อิกอร์

0

ไม่ใช่คำตอบที่แท้จริง แต่มีเงื่อนงำมากกว่าที่จะช่วยคนแก้จุดบกพร่องนี้ ...

ฉันเริ่มได้รับคำเตือนนี้ทันทีที่ฉันลบเฟรมเวิร์ก AVFoundation ออกจากโปรเจ็กต์ Xcode 9 / iOS 11 ฉันใช้ AVFoundation (โดยเฉพาะ AVPlayer และ AVPlayerLayer) แต่ก็ยังคงรันและรวบรวมได้ดีหลังจากลบเฟรมเวิร์กออกจาก Linked Frameworks และ Libraries editor ของเป้าหมายแล้วลบออกจากโฟลเดอร์ Frameworks (ฉันพยายามกำจัดคำเตือน runtime อื่น) .

การเพิ่มเข้ามาอีกครั้งผ่านตัวแก้ไขการเชื่อมโยง Frameworks และไลบรารีกำจัดคำเตือนแบบรันไทม์ในคอนโซล

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.