Saya punya aplikasi kecil yang berjalan di iOS dan tvOS di mana saya menampilkan video di UIView. Itu mendukung iOS 12 dan tvOS 12. Sekarang saya ingin menunjukkan PIP untuk tvOS maka mencoba menggunakan AVPictureInPictureController memberikan kesalahan “Penggunaan pengidentifikasi yang tidak terdaftar 'AVPictureInPictureController ”
Meskipun target penyebaran diatur ke TVOS 13. Dalam Xcode, kapabilitas -> Mode latar belakang -> mengaktifkan "Audio, Airplay, dan Picture In Picture". Kode dasar ini memberikan kesalahan.
#import <AVKit/AVKit.h>
if ([AVPictureInPictureController isPictureInPictureSupported]) {
// code
}
Adakah pengaturan lain yang hilang atau hal lain yang perlu saya lakukan?
Terima kasih
KEMUNGKINAN MASALAH YANG DIMAKSUD DENGAN GAPS DALAM IMPLEMENTASI:
Mengalami AVPlayerViewController: Awalnya pastikan bahwa kita mengatur kategori audio Playback, Umumnya ketika kita menggunakan AVPlayerViewController untuk memutar konten video. Mode PIP secara otomatis akan dipanggil jika aplikasi yang dikembangkan memasuki latar belakang, tetapi hanya jika memenuhi kondisi yang disebutkan di bawah ini, Pertama adalah Player yang kita gunakan harus dalam mode Layar Penuh, yang kedua adalah kita harus memastikan bahwa Video Harus Bermain di dalamnya dan yang ketiga adalah PIP. Harus didukung oleh perangkat dan yang terakhir metode delegasi tulis untuk mengembalikan UI pemain kami ketika pengguna kembali dari Gambar dalam mode Gambar.
Implmentasi dengan _AVPictureInPictureController: Anda dapat menemukan contoh yang berfungsi di utas di bawah ini. Bagaimana cara menampilkan AVPictureInPictureController?
Meneliti masalah ini: Untuk mengonfirmasi kesalahan yang tidak dideklarasikan bukan karena kesenjangan dalam implementasi dan itu disebabkan oleh EnvironmentMnet di Xcode, Unduh sumber dan kemudian tambahkan folder Sumber di dalam folder lain di ruang kerja Anda. Tambahkan folder menggunakan " Opsi Tambahkan File ke ... "dan sekarang verifikasi di dalam xcode.
KEMUNGKINAN MASALAH KARENA REFRESH DALAM XCODE Coba Perbaiki Dengan Pendekatan 1 Sertakan kelas secara eksplisit dalam header dan / atau tubuh - bukan file * .pch. Maka kesalahan ini mungkin hilang. Juga menghapus data yang diturunkan berfungsi sesekali. Apakah Anda mengubah lokasi dalam preferensi baru-baru ini karena kebetulan. Beberapa mendapatkan kesalahan ini ketika mereka menggunakan ramdisk untuk data yang diturunkan dan kemudian mereka kembali ke default. Ini adalah kasus yang paling menjengkelkan - karena menyebabkan kesalahan ini muncul di hampir setiap file.
Coba Perbaiki Dengan Pendekatan 2 Kadang-kadang solusi sederhana mungkin membantu menghapus salah satu dari baris #import dari file pch dan mengkompilasi ulang yang akan gagal seperti yang diharapkan. Kemudian masukkan baris yang dihapus kembali, dikompilasi ulang dan dikompilasi secara normal dengan semua kesalahan palsu hilang.
KEMUNGKINAN MASALAH SELAMA XCODE ERROR CACHE, IKUTI LANGKAH DI BAWAH Bangun Bersih: Command-Option-Shift-K untuk membersihkan folder build. Reset Simulator: pilih iOS Simulator> Reset Konten dan Pengaturan Restart Xcode Hapus folder DerivedData Anda di ~ / Library / Developer / Xcode / DerivedData Restart Computer
Hapus / var / folder dengan cara yang sangat ditargetkan. rm -rf "$ (getconf DARWIN_USER_CACHE_DIR) /org.llvm.clang/ModuleCache"
Sumber: Cara Mengosongkan Cache dan Membersihkan Semua Target Xcode 4 dan kemudian Xcode "Penggunaan pengenal yang tidak dideklarasikan" kesalahan, mengkompilasi / menjalankan dengan baik. Penggunaan pengidentifikasi yang tidak dideklarasikan di Xcode 9.0 https://developer.apple.com/documentation/avkit/adopting_picture_in_picture_in_a_standard_player
sumber
Untuk membuat pemutar video sederhana
Pertama, Anda perlu mengimplementasikan pemutar video dasar dalam file ViewController.m proyek Anda, seperti:
Untuk bantuan lebih lanjut, lewati
https://help.apple.com/xcode/mac/8.0/#/dev51a648b07
sumber