Saya memutar video dari pengontrol seperti ini:
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()
}
Bahkan setelah pengontrol dihancurkan dan tidak lagi digunakan, saya mendapatkan pesan log ini setiap detik:
AQDefaultDevice (173): skipping input stream 0 0 0x0
Saya tidak bertanya bagaimana cara menyembunyikan log ini. Saya tahu bagaimana melakukannya dengan mengatur OS_ACTIVITY_MODE
ke disable
( Lihat ini untuk cara menyembunyikan log ini ). Kekhawatiran saya adalah bahwa film mungkin masih diputar entah bagaimana bahkan setelah pengontrol dihancurkan. Apakah ada yang salah dengan cara saya memutar film. Atau apakah saya perlu melakukan pembersihan tambahan?
Jawaban:
Saya mendapatkan masalah ini ketika saya menggunakan AVPlayer Foundation di iOS Simulator (xcode 8.1). Namun ia tidak masuk lagi di perangkat iOS. Menurut pendapat saya itu adalah bug log. Pemain atau lapisan dihancurkan.
memperbarui
saya mendapatkan ini untuk Anda memperbaiki pesan log yang tidak diinginkan
sumber
Tidak, Anda tidak melakukan kesalahan. Ini adalah bug dengan log di Xcode8 + iOS10.
Kita dapat mengatasinya dengan cara ini (perangkat dan simulator membutuhkan nilai yang berbeda):
Tambahkan Nama
OS_ACTIVITY_MODE
dan Nilai${DEBUG_ACTIVITY_MODE}
dan periksa (dalam Produk -> Skema -> Edit Skema -> Jalankan -> Argumen -> Lingkungan).Tambahkan Pengaturan Buatan Pengguna
DEBUG_ACTIVITY_MODE
, lalu tambahkanAny iOS Simulator SDK
untukDebug
dan atur nilainya kedisable
(dalam Proyek -> Bangun pengaturan -> + -> Pengaturan Buatan Pengguna)sumber
Tidak benar-benar jawaban, tetapi lebih dari petunjuk yang mungkin membantu seseorang men-debug ini ...
Saya mulai mendapatkan peringatan ini segera setelah saya menghapus kerangka AVFoundation dari proyek Xcode 9 / iOS 11 saya. Saya menggunakan AVFoundation (khusus AVPlayer dan AVPlayerLayer), tetapi masih berjalan dan dikompilasi dengan baik setelah menghapus framework dari editor Linked Frameworks and Libraries, dan kemudian menghapusnya dari folder Frameworks (saya mencoba menghilangkan peringatan runtime yang berbeda) .
Menambahkannya kembali melalui editor Linked Frameworks and Libraries menghilangkan peringatan runtime di konsol.
sumber