Lạ AQDefaultDevice đăng nhập


140

Tôi đang phát video từ bộ điều khiển như thế này:

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

Ngay cả sau khi bộ điều khiển bị hủy và không còn được sử dụng, tôi vẫn nhận được thông báo nhật ký này mỗi giây hoặc lâu hơn:

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

Tôi không hỏi làm thế nào để ẩn những bản ghi này. Tôi biết cách thực hiện điều đó bằng cách đặt OS_ACTIVITY_MODEthành disable( Xem phần này để biết cách ẩn các nhật ký này ). Mối quan tâm của tôi là bộ phim có thể vẫn đang phát bằng cách nào đó ngay cả sau khi bộ điều khiển bị phá hủy. Có điều gì sai trong cách tôi đang chơi phim. Hoặc tôi cần phải thực hiện bất kỳ dọn dẹp bổ sung?


Tôi đoán câu trả lời này sẽ phù hợp với bạn. Nó giải thích một cách để loại bỏ nhật ký với nhiều chi tiết hơn. stackoverflow.com/a/40336926/4602597
MessuKilkain

6
Câu hỏi của tôi không phải là về cách ẩn các bản ghi không mong muốn. Tôi đã làm rõ điều đó trong đoạn cuối. Câu hỏi của tôi là nếu nhật ký cụ thể đó đang chỉ đến một tài nguyên chưa được phát hành liên quan đến AVPlayer.
RajV


Lý do duy nhất tôi tìm thấy câu hỏi này (và giải pháp được liên kết trong các bình luận với nó) là để vô hiệu hóa khía cạnh gây phiền nhiễu này của nhật ký một đối tượng trình phát đa phương tiện, vì nó cản trở việc đọc các nhật ký khác; FWIW. Nhưng vâng, rõ ràng là bạn đang làm đúng và nhật ký không hoạt động như mong muốn.
Alex Hall

Điều này thật khó chịu. Tôi đã dành hàng giờ cố gắng để xác định lý do tại sao người chơi không dừng lại và bây giờ - theo như tôi có thể nói - đó là lỗi XCode. Bạn đã bao giờ tìm thấy bất kỳ câu trả lời khác @RajV?
David Vincent Gagne

Câu trả lời:


67

Tôi gặp vấn đề này khi sử dụng AVPlayer Foundation trên iOS Simulator (xcode 8.1). Tuy nhiên, nó không đăng nhập nữa trên thiết bị iOS. Theo tôi đó là lỗi đăng nhập. Trình phát hoặc lớp bị hủy.


cập nhật

tôi đã nhận nó cho bạn sửa các thông điệp tường trình không mong muốn


Có cùng nhật ký, không sử dụng AVPlayer Foundation.
Dima Deplov

Tôi không chắc về điều này, Khi tôi sử dụng Xcode 7, thông báo nhật ký sẽ biến mất
zippo

1
Tôi gặp vấn đề tương tự sau khi sử dụng AVPlayer
ben

này các bạn tôi đã nhận được điều này khi bạn sửa các thông điệp
tường trình

101

Không, bạn không làm gì sai. Đây là một lỗi với nhật ký trong Xcode8 + iOS10.


Chúng ta có thể làm tròn nó theo cách này (thiết bị và trình giả lập cần các giá trị khác nhau):

Thêm Tên OS_ACTIVITY_MODEvà Giá trị ${DEBUG_ACTIVITY_MODE}và kiểm tra nó (trong Sản phẩm -> Lược đồ -> Chỉnh sửa lược đồ -> Chạy -> Đối số -> Môi trường).

nhập mô tả hình ảnh ở đây

Thêm Setting User-Defined DEBUG_ACTIVITY_MODE, sau đó thêm Any iOS Simulator SDKcho Debugvà thiết lập giá trị của nó để disable(trong dự án -> Cài đặt Build -> + -> Setting User-Defined)

nhập mô tả hình ảnh ở đây


8
Bạn đã đọc câu hỏi của tôi? Tôi đã nói rằng tôi có thể vô hiệu hóa đăng nhập bằng OS_ACTIVITY_MODE. Đó không phải là điểm của câu hỏi này.
RajV

Đây là một lỗi với nhật ký trong Xcode8 + iOS10. - đây là một câu trả lời cho câu hỏi của bạn.
Igor

Câu hỏi tôi hỏi không phải là về cách ẩn các thông điệp tường trình này. Đó là, và tôi trích dẫn, "Có gì sai trong cách tôi đang chơi phim. Hay tôi cần phải thực hiện bất kỳ việc dọn dẹp nào?"
RajV

22
Một "giải pháp" yêu cầu tôi thay đổi một biến môi trường bằng tay, mỗi khi tôi chuyển từ chạy trong Trình mô phỏng sang chạy trên thiết bị, thì không có giải pháp nào cả.
matt

14
Nếu bạn sẽ tìm thấy giải pháp tốt hơn, xin vui lòng, cho chúng tôi biết.
Igor

0

Không thực sự là một câu trả lời, nhưng nhiều manh mối có thể giúp ai đó gỡ lỗi này ...

Tôi bắt đầu nhận được cảnh báo này ngay khi tôi gỡ bỏ khung AVFoundation khỏi dự án Xcode 9 / iOS 11 của mình. Tôi đang sử dụng AVFoundation (cụ thể là AVPlayer và AVPlayerLayer), nhưng nó vẫn chạy và biên dịch tốt sau khi gỡ bỏ khung công tác khỏi trình soạn thảo Thư viện và Khung công tác được liên kết của mục tiêu, sau đó xóa nó khỏi thư mục Khung (tôi đang cố gắng loại bỏ cảnh báo thời gian chạy khác) .

Việc thêm lại thông qua trình soạn thảo Thư viện và Khung liên kết đã loại bỏ các cảnh báo thời gian chạy trong bảng điều khiển.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.