programing

이상한 AQDefaultDevice 로깅

yellowcard 2023. 5. 10. 20:47
반응형

이상한 AQDefaultDevice 로깅

다음과 같은 컨트롤러의 비디오를 재생하고 있습니다.

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(이러한 로그를 숨기는 방법은 이 항목을 참조하십시오.제가 걱정하는 것은 컨트롤러가 파괴된 후에도 어떻게든 영화가 계속 재생되고 있을 수 있다는 것입니다.제가 영화를 상영하는 방식에 문제가 있나요?아니면 추가 정리를 수행해야 합니까?

아니요, 당신은 잘못한 게 없습니다.Xcode8 + iOS10에 로그가 있는 버그입니다.


다음과 같은 방법으로 해결할 수 있습니다(장치와 시뮬레이터는 다른 값이 필요함).

이름 추가OS_ACTIVITY_MODE및 가치${DEBUG_ACTIVITY_MODE}제품 -> 구성표 -> 구성표 편집 -> 실행 -> 인수 -> 환경에서 확인합니다.

여기에 이미지 설명 입력

사용자 정의 설정 추가DEBUG_ACTIVITY_MODE그 다음에 추가Any iOS Simulator SDK위해서Debug다음으로 설정합니다.disable(프로젝트 -> 빌드 설정 -> + -> 사용자 정의 설정)

여기에 이미지 설명 입력

iOS Simulator(xcode 8.1)에서 AVPlayer Foundation을 사용할 때 이 문제가 발생했습니다.하지만 iOS 기기에서는 더 이상 로그인이 되지 않습니다.제 생각에는 그것은 통나무 벌레입니다.플레이어 또는 레이어가 파괴됩니다.


갱신하다

원치 않는 로그 메시지를 수정하기 위해 이것을 가져왔습니다.

답은 아니지만 누군가가 이걸 디버그하는 데 도움이 될 수 있는 단서가...

저는 제 Xcode 9/iOS 11 프로젝트에서 AV Foundation 프레임워크를 제거하자마자 이 경고를 받기 시작했습니다.저는 AV Foundation(특히 AVPlayer 및 AVPlayerLayer)을 사용하고 있지만 대상의 Linked Frameworks and Libraries 편집기에서 프레임워크를 제거한 다음 Frameworks 폴더에서 제거한 후에도 정상적으로 실행되고 컴파일되었습니다(다른 런타임 경고를 제거하려고 했습니다).

Linked Frameworks and Libraries 편집기를 통해 다시 추가하면 콘솔에서 런타임 경고가 제거됩니다.

언급URL : https://stackoverflow.com/questions/40389308/strange-aqdefaultdevice-logging

반응형