Topik ini menjelaskan cara mengintegrasikan kit pengembangan perangkat lunak (SDK) Pemutar Video Apsara untuk iOS secara cepat.
Persyaratan lingkungan
Sistem: iOS 8.0 atau yang lebih baru.
Tool pengembangan: Disarankan menggunakan Xcode. Prosedur dalam topik ini berbasis Xcode. URL unduhan: Xcode.
Batasan: SDK Pemutar Video Apsara untuk iOS tidak mendukung emulator. Anda harus menjalankan aplikasi pada perangkat fisik setelah integrasi.
Prasyarat
Anda telah mendaftarkan lisensi untuk SDK Pemutar Video Apsara dan memperoleh file lisensi
AliVideoCert-********.crt. Untuk informasi selengkapnya, lihat Dapatkan lisensi.Saat mengintegrasikan SDK secara lokal, Anda harus terlebih dahulu mengunduh paket SDK Pemutar Video Apsara untuk iOS. Disarankan untuk mengunduh versi terbaru.
Catatan penggunaan
Saat membuat paket aplikasi, file dSYM digunakan untuk parsing simbol crash.
AlivcFFmpeg dan AliyunPlayer diperlukan saat menggunakan SDK Pemutar Video Apsara untuk iOS. File header pemutar terletak di AliyunPlayer.
Jika ingin mengintegrasikan SDK Pemutar Video Apsara dan SDK video pendek sekaligus, perhatikan ketergantungan versi antara SDK video pendek, SDK Pemutar Video Apsara, dan AlivcFFmpeg. Jika tidak, fitur SDK video pendek atau SDK Pemutar Video Apsara mungkin gagal. Untuk informasi selengkapnya, lihat Ketergantungan AlivcFFmpeg.
Paket instalasi SDK Pemutar Video Apsara untuk iOS mencakup arsitektur simulator. Anda harus menghapus arsitektur simulator sebelum menerbitkan aplikasi. Jika tidak, aplikasi gagal dikirim ke App Store.
Langkah 1: Integrasikan SDK
Integrasi CocoaPods
Instal CocoaPods. CocoaPods bergantung pada lingkungan Ruby.
// Jalankan perintah ini di terminal sudo gem install cocoapodsVerifikasi CocoaPods.
Setelah instalasi selesai, jalankan
pod --versiondi terminal untuk memverifikasi bahwa CocoaPods telah terinstal.xxx@ ~ % pod --version 1.16.2Buat Podfile.
Di terminal, navigasikan ke direktori proyek Anda. Jalankan perintah
pod inituntuk membuat Podfile.// Masuk ke direktori proyek Anda. xxx@ ~ % cd /path/yourProject // Hasilkan file tersebut. xxx@ yourProject % pod initEdit Podfile untuk menambahkan dependensi SDK Pemutar Video Apsara.
CatatanJika ingin mengintegrasikan SDK Pemutar Video Apsara dan SDK video pendek sekaligus, ganti
AliPlayerSDK_iOSdalam kode berikut denganAliPlayerPartSDK_iOS.AliPlayerPartSDK_iOStidak berisi framework FFmpeg. Hal ini mencegah konflik dengan framework FFmpeg dari SDK video pendek.Pastikan nomor versi SDK Pemutar Video Apsara benar. Jika tidak, kesalahan akan dilaporkan dan SDK gagal diimpor. Untuk informasi selengkapnya tentang versi SDK, lihat Catatan rilis SDK Pemutar Video Apsara untuk iOS.
source 'https://github.com/CocoaPods/Specs.git' platform:ios, '8.0' target 'yourProject' do # Kami menyarankan Anda menggunakan versi terbaru SDK Pemutar Video Apsara. pod 'AliPlayerSDK_iOS' endOpsional, tambahkan dependensi pada versi tertentu SDK Pemutar Video Apsara.
source 'https://github.com/CocoaPods/Specs.git' platform:ios, '8.0' player_sdk_version = '7.12.0' target 'yourProject' do # Kami menyarankan Anda menggunakan versi terbaru SDK Pemutar Video Apsara. pod 'AliPlayerSDK_iOS' , player_sdk_version endInstal dependensi.
Jalankan perintah instalasi untuk menambahkan dependensi SDK Pemutar Video Apsara ke repositori lokal.
pod installHasil contoh berikut menunjukkan bahwa instalasi berhasil.
xxx@ yourProject % pod install Analyzing dependencies Downloading dependencies Installing AliPlayerSDK_iOS (7.11.0) Generating Pods project Integrating client project Pod installation complete! There is 1 dependency from the Podfile and 1 total pod installed.Jalankan perintah berikut untuk memperbarui SDK Pemutar Video Apsara.
pod update AliPlayerSDK_iOS
Integrasi lokal
Jika ingin mengintegrasikan SDK Pemutar Video Apsara dan SDK video pendek sekaligus, Anda hanya perlu mengimpor satu AlivcFFmpeg. Pastikan Anda mengimpor versi AlivcFFmpeg yang benar.
Unduh SDK pemutar iOS.
Tambahkan framework pemutar ke bagian Frameworks, Libraries, and Embedded Content, lalu atur Embed menjadi Embed & Sign.
alivcffmpeg.framework: framework dasar pemutar.
AliyunMediaDownloader.framework: framework untuk unduhan offline.
AliyunPlayer.framework: framework pemutar.

Klik tab Build Settings.
Di bagian Search Paths, atur Framework Search Paths ke direktori tempat file framework disimpan.
(Opsional) Integrasi Streaming Real-Time (RTS) (CocoaPods)
Untuk mengintegrasikan komponen Streaming Real-Time (RTS), lihat Implementasikan penarikan aliran RTS pada iOS.
Langkah 2: Konfigurasikan lisensi
Jika menggunakan lingkungan global (wilayah luar Tiongkok daratan, Hong Kong, Makau, dan Taiwan), pastikan untuk memanggil API berikut guna memperbarui konfigurasi default ke lingkungan internasional sebelum memanggil API pemutar apa pun.
Metode 1: Panggil API berikut untuk memperbarui konfigurasi default ke lingkungan internasional.
// Jika Anda menggunakan lingkungan global (wilayah luar Tiongkok daratan, Hong Kong, Makau, dan Taiwan), pastikan untuk memanggil API berikut guna memperbarui konfigurasi default ke lingkungan internasional sebelum memanggil API pemutar apa pun. Hal ini memastikan semua layanan selanjutnya berjalan di lingkungan internasional. // Gunakan antarmuka terpadu AlivcBase untuk mengatur lingkungan internasional. Lingkungan tidak dapat diubah selama waktu proses. AlivcBase.EnvironmentManager.globalEnvironment = ENV_SEA;Metode 2 (Direkomendasikan): Untuk SDK Pemutar Video Apsara V7.6.0 atau yang lebih baru, Anda dapat mengonfigurasi lingkungan internasional dalam file
Info.plist.Buka file
Info.plistdan ubah nilaiAlivcEnvmenjadiSEA.// Konfigurasikan lingkungan saat ini sebagai lingkungan internasional. <key>AlivcEnv</key> <string>SEA</string>Gambar berikut menunjukkan contoh konfigurasi.

Untuk informasi selengkapnya tentang cara mengintegrasikan lisensi pada client iOS, lihat Integrasikan lisensi pada client iOS.
Langkah 3: Aktifkan logging (Opsional)
Mengaktifkan logging membantu Anda menemukan dan memecahkan masalah secara cepat. Logging juga menyediakan data untuk optimasi performa dan peningkatan pengalaman pengguna. Anda dapat memutuskan apakah akan mengaktifkan logging berdasarkan skenario bisnis Anda. Untuk informasi selengkapnya tentang cara memperoleh log, lihat Peroleh log SDK.
// Aktifkan logging.
[AliPlayer setEnableLog:YES];
// Atur tingkat log. Tingkat default adalah LOG_LEVEL_INFO. Untuk memecahkan masalah, atur tingkat menjadi LOG_LEVEL_TRACE.
[AliPlayer setLogCallbackInfo:LOG_LEVEL_INFO callbackBlock:nil];Struktur proyek
Framework | Deskripsi |
alivcffmpeg.framework | Framework dasar pemutar. Framework ini wajib digunakan. |
AliyunMediaDownloader.framework | Digunakan untuk unduhan offline. Tidak wajib. |
AliyunPlayer.framework | Pemutar wajib digunakan. |
artcSource.framework | Framework yang mendukung protokol Alibaba Real-Time Communication (ARTC). Framework ini opsional. Catatan Untuk mendukung protokol ARTC, Anda juga harus menambahkan RtsSDK.framework. Untuk informasi selengkapnya, lihat Implementasikan penarikan aliran RTS pada iOS. |
aemFilter.framework | Peningkatan audio bersifat opsional. |
libPluginSR.framework | Framework untuk Video Ultra HD. Framework ini opsional. |
normalsrFilter.framework | Framework untuk Video Ultra HD. Framework ini opsional. |
srFilter.framework | Framework untuk Video Ultra HD. Framework ini opsional. |
vfiFilter.framework | Interpolasi frame video bersifat opsional. |
vvcCodecPlugin.framwork | Plugin untuk decoding H.266. Framework ini opsional. |
Permasalahan Integrasi Umum
Cara menggunakan CocoaPods
Kode Anda atau kode pihak ketiga yang Anda referensikan mengalami konflik dengan simbol AlivcFFmpeg selama integrasi.
Solusi:
Konflik dengan simbol AlivcFFmpeg: Pertahankan hanya satu AlivcFFmpeg dan hapus dependensi AlivcFFmpeg yang berlebihan. AlivcFFmpeg adalah dependensi kustom yang dikembangkan oleh Alibaba Cloud berdasarkan FFmpeg dan merupakan bagian penting dari SDK Pemutar Video Apsara. Disarankan untuk menghapus dependensi AlivcFFmpeg untuk SDK pihak ketiga dan mempertahankan dependensi AlivcFFmpeg untuk SDK Pemutar Video Apsara. Namun, hal ini dapat menyebabkan kesalahan pada pemutar pihak ketiga.
Kesalahan Sandbox
Permasalahan sebagai berikut:

Solusi:
Atur User Script SandBoxing di UserSettings menjadi NO.

Integrasi Video Pendek
Untuk mengintegrasikan SDK pemutar iOS dan SDK video pendek ke dalam proyek Anda, disarankan menggunakan SDK all-in-one iOS untuk integrasi. Hal ini mencegah kesalahan kelas duplikat dan kegagalan kompilasi.
Untuk masalah lain yang mungkin terjadi saat menggunakan SDK Pemutar Video Apsara beserta solusinya, lihat FAQ tentang Pemutar Video Apsara.