Topik ini menjelaskan cara cepat mengintegrasikan ApsaraVideo Player SDK untuk iOS.
Prasyarat
Sistem operasi: iOS 8.0 atau yang lebih baru.
Alat pengembangan: Disarankan menggunakan Xcode. Langkah-langkah dalam topik ini berbasis Xcode. Anda dapat mengunduh Xcode dari App Store.
Batasan: ApsaraVideo Player SDK untuk iOS tidak mendukung emulator. Anda harus menjalankan aplikasi pada perangkat fisik setelah integrasi.
Prasyarat
Anda telah mendaftarkan aplikasi dan memperoleh file lisensi yang mengotorisasi pemutar:
AliVideoCert-********.crt. Untuk informasi selengkapnya, lihat Dapatkan lisensi.Jika Anda mengintegrasikan SDK secara lokal, Anda harus mengunduh paket iOS player SDK. Kami menyarankan Anda mengunduh versi terbaru.
Catatan
File dSYM digunakan untuk mengurai tabel simbol crash saat Anda membuat paket aplikasi.
Saat menggunakan ApsaraVideo Player SDK untuk iOS, Anda memerlukan AlivcFFmpeg dan AliyunPlayer. File header pemutar terletak di AliyunPlayer.
Jika Anda mengintegrasikan ApsaraVideo Player SDK dan short video SDK sekaligus, perhatikan ketergantungan versi antara short video SDK, ApsaraVideo Player SDK, dan AlivcFFmpeg. Jika versinya tidak kompatibel, fitur short video SDK atau pemutar mungkin gagal berfungsi. Untuk informasi selengkapnya, lihat Ketergantungan versi AlivcFFmpeg.
Paket instalasi ApsaraVideo Player SDK untuk iOS mencakup arsitektur emulator. Anda harus menghapus arsitektur ini sebelum menerbitkan aplikasi. Jika tidak, pengiriman ke App Store akan gagal.
Langkah 1: Integrasikan SDK
Integrasikan menggunakan CocoaPods
Instal CocoaPods. Perhatikan bahwa CocoaPods bergantung pada lingkungan Ruby.
// Masukkan perintah berikut di terminal sudo gem install cocoapodsVerifikasi instalasi CocoaPods.
Setelah instalasi selesai, jalankan perintah
pod --versiondi terminal untuk memverifikasi bahwa CocoaPods telah terinstal.xxx@ ~ % pod --version 1.16.2Buat Podfile.
Di terminal, navigasikan ke direktori proyek Anda dan jalankan perintah
pod init.// Masuk ke direktori proyek Anda xxx@ ~ % cd /path/yourProject // Hasilkan file xxx@ yourProject % pod initEdit Podfile untuk menambahkan dependensi SDK Pemutar Video Apsara.
CatatanJika Anda ingin mengintegrasikan ApsaraVideo Player SDK dan short video SDK sekaligus, ganti
AliPlayerSDK_iOSdalam kode berikut denganAliPlayerPartSDK_iOS.AliPlayerPartSDK_iOStidak berisi ffmpeg, sehingga mencegah konflik dengan ffmpeg di short video SDK.Pastikan Anda memasukkan nomor versi ApsaraVideo Player SDK yang benar. Jika tidak, akan terjadi error impor. Anda dapat menemukan nomor versi di Catatan rilis ApsaraVideo Player SDK untuk iOS.
source 'https://github.com/CocoaPods/Specs.git' platform:ios, '8.0' target 'yourProject' do # Disarankan menggunakan versi terbaru ApsaraVideo Player SDK. pod 'AliPlayerSDK_iOS' end(Opsional) Tambahkan dependensi pada versi tertentu dari SDK Pemutar Video Apsara.
source 'https://github.com/CocoaPods/Specs.git' platform:ios, '8.0' player_sdk_version = '7.10.0' target 'yourProject' do # Disarankan menggunakan versi terbaru ApsaraVideo Player SDK. pod 'AliPlayerSDK_iOS' , player_sdk_version endInstal dependensi.
Jalankan perintah instalasi untuk menambahkan dependensi SDK Pemutar Video Apsara ke repositori lokal Anda.
pod installKeluaran berikut menunjukkan instalasi berhasil.
xxx@ yourProject % pod install Analyzing dependencies Downloading dependencies Installing AliPlayerSDK_iOS (7.8.0) Generating Pods project Integrating client project Pod installation complete! There is 1 dependency from the Podfile and 1 total pod installed.Untuk memperbarui ApsaraVideo Player SDK, jalankan perintah berikut.
pod update AliPlayerSDK_iOS
Integrasikan secara lokal
Jika Anda mengintegrasikan ApsaraVideo Player SDK dan short video SDK sekaligus, impor hanya satu framework AlivcFFmpeg dan pastikan versinya benar.
Tambahkan framework pemutar ke Frameworks, Libraries, and Embedded Content, lalu atur Embed menjadi Embed & Sign.
alivcffmpeg.framework: Lapisan dasar pemutar.
AliyunMediaDownloader.framework: Digunakan untuk unduhan offline.
AliyunPlayer.framework: Pemutar.

Klik tab Build Settings.
Pada bagian Search Paths, klik Framework Search Paths dan atur nilainya ke direktori framework lokal.
Integrasikan komponen RTS (menggunakan CocoaPods) (Opsional)
Untuk informasi selengkapnya tentang mengintegrasikan komponen Real-Time Streaming (RTS), lihat Implementasikan penarikan aliran RTS di iOS.
Langkah 2: Konfigurasikan lisensi
Jika Anda menggunakan lingkungan global—yang tidak mencakup Daratan Tiongkok, Hong Kong, dan Makau—Anda harus memanggil antarmuka berikut untuk memperbarui konfigurasi default ke lingkungan internasional sebelum memanggil API pemutar apa pun.
Metode 1: Panggil antarmuka berikut untuk memperbarui konfigurasi default ke lingkungan internasional.
// Saat menggunakan lingkungan global (tidak termasuk Daratan Tiongkok, Hong Kong, dan Makau), pastikan Anda memanggil antarmuka berikut untuk memperbarui konfigurasi default ke lingkungan internasional. Ini memastikan semua layanan selanjutnya berjalan di lingkungan internasional. // Gunakan antarmuka terpadu AlivcBase untuk mengatur lingkungan internasional. Pengaturan ini tidak dapat diubah selama waktu proses. AlivcBase.EnvironmentManager.globalEnvironment = ENV_SEA;Metode 2 (Disarankan): Untuk player SDK V7.6.0 dan yang lebih baru, Anda dapat mengonfigurasi lingkungan internasional melalui file
Info.plist.Buka file
Info.plistdan aturAlivcEnvmenjadiSEA.// Konfigurasikan lingkungan saat ini sebagai lingkungan internasional. <key>AlivcEnv</key> <string>SEA</string>Gambar berikut menunjukkan contoh konfigurasi:

Untuk informasi selengkapnya, lihat Integrasikan Lisensi di iOS.
Langkah 3: Aktifkan logging (Opsional)
Logging membantu Anda dengan cepat menemukan dan memecahkan masalah serta menyediakan data untuk optimasi performa dan peningkatan pengalaman pengguna. Anda dapat memilih apakah akan mengaktifkan fitur ini 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 | Lapisan dasar pemutar. Wajib. |
AliyunMediaDownloader.framework | Digunakan untuk unduhan offline. Opsional. |
AliyunPlayer.framework | Pemutar. Wajib. |
artcSource.framework | Mendukung protokol ARTC. Opsional. Catatan Untuk mendukung protokol artc, Anda juga harus menambahkan RtsSDK.framework. Untuk proses integrasinya, lihat Implementasikan penarikan aliran RTS di iOS. |
aemFilter.framework | Peningkatan audio. Opsional. |
libPluginSR.framework | Video Ultra HD. Opsional. |
normalsrFilter.framework | Video Ultra HD. Opsional. |
mpfFilter.framework | Video Ultra HD. Opsional. |
srFilter.framework | Video Ultra HD. Opsional. |
vfiFilter.framework | Interpolasi frame video. Opsional. |
vvcCodecPlugin.framwork | Plugin decoding H.266. Opsional. |
Permasalahan integrasi umum
Cara menggunakan CocoaPods
Konflik simbol dengan AlivcFFmpeg saat integrasi
Solusi:
Jika terjadi konflik simbol dengan AlivcFFmpeg, hapus framework AlivcFFmpeg yang berlebih dan pertahankan hanya satu. AlivcFFmpeg merupakan ekstensi ffmpeg yang telah dikustomisasi dan penting agar ApsaraVideo Player SDK berfungsi. Oleh karena itu, Anda harus menghapus framework AlivcFFmpeg pihak ketiga dan mempertahankan yang disediakan bersama ApsaraVideo Player SDK untuk iOS. Perhatikan bahwa hal ini mungkin menyebabkan masalah, seperti pemutar pihak ketiga tidak berfungsi dengan benar.
Error sandbox
Masalah:

Solusi:
Di Build Settings, atur User Script Sandboxing menjadi No.

Integrasikan short video SDK
Untuk mengintegrasikan iOS player SDK dan short video SDK ke dalam proyek Anda, kami menyarankan menggunakan iOS all-in-one SDK guna mencegah error kelas duplikat dan kegagalan kompilasi.
Untuk informasi selengkapnya tentang masalah umum pemutar, lihat FAQ Pemutar.