Topik ini menjelaskan cara cepat mengintegrasikan ApsaraVideo Player SDK untuk iOS.
Persyaratan lingkungan
Sistem operasi: iOS 8.0 atau yang lebih baru.
Alat pengembangan: Disarankan menggunakan Xcode. Langkah-langkah dalam topik ini menggunakan Xcode. Anda dapat mengunduhnya dari Xcode.
Batasan: ApsaraVideo Player SDK untuk iOS tidak mendukung emulator. Anda harus menjalankan proyek pada perangkat fisik setelah integrasi.
Prasyarat
Anda telah mendaftar dan memperoleh file lisensi yang berisi otorisasi pemutar:
AliVideoCert-********.crt. Untuk informasi selengkapnya, lihat Dapatkan lisensi.Untuk integrasi lokal, unduh paket ApsaraVideo Player SDK untuk iOS. Kami menyarankan Anda mengunduh versi terbaru.
Catatan
File dSYM digunakan untuk mengurai tabel simbol crash saat packaging.
Kedua komponen AlivcFFmpeg dan AliyunPlayer diperlukan saat menggunakan ApsaraVideo Player SDK untuk iOS. File header pemutar berada di AliyunPlayer.
Jika Anda ingin mengintegrasikan ApsaraVideo Player SDK dan short video SDK secara bersamaan, perhatikan ketergantungan versi antara short video SDK, ApsaraVideo Player SDK, dan AlivcFFmpeg. Jika tidak, fitur-fitur short video SDK atau pemutar mungkin tidak 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, pengajuan ke App Store akan ditolak.
Langkah 1: Integrasikan SDK
Integrasi CocoaPods
Instal CocoaPods. CocoaPods bergantung pada lingkungan Ruby.
// Jalankan 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. Jalankan perintah
pod inituntuk membuat Podfile.// 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 secara bersamaan, ganti
AliPlayerSDK_iOSdenganAliPlayerPartSDK_iOSpada kode berikut.AliPlayerPartSDK_iOStidak menyertakan ffmpeg. Hal ini mencegah konflik dengan ffmpeg di short video SDK.Pastikan Anda memasukkan nomor versi yang benar untuk ApsaraVideo Player SDK. Jika tidak, terjadi error dan impor gagal. Untuk informasi selengkapnya tentang versi SDK, lihat Catatan rilis ApsaraVideo Player SDK untuk iOS.
source 'https://github.com/CocoaPods/Specs.git' platform:ios, '8.0' target 'yourProject' do # ApsaraVideo Player SDK. Disarankan menggunakan versi terbaru. 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.11.0' target 'yourProject' do # ApsaraVideo Player SDK. Disarankan menggunakan versi terbaru. pod 'AliPlayerSDK_iOS' , player_sdk_version endInstal dependensi.
Jalankan perintah instalasi untuk menambahkan dependensi SDK Pemutar Video Apsara ke repositori lokal Anda.
pod installOutput 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 ApsaraVideo Player SDK.
pod update AliPlayerSDK_iOS
Integrasi lokal
Jika Anda ingin mengintegrasikan ApsaraVideo Player SDK dan short video SDK secara bersamaan, impor hanya satu 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, atur Framework Search Paths ke direktori yang berisi framework lokal.
Integrasi Real-Time Streaming (RTS) (integrasi CocoaPods) (Opsional)
Untuk mengintegrasikan komponen RTS, lihat Implementasikan penarikan aliran RTS pada iOS.
Langkah 2: Konfigurasikan lisensi
Saat menggunakan lingkungan global—yang mengecualikan Daratan Tiongkok, Hong Kong, dan Makau—pastikan Anda memanggil antarmuka berikut untuk memperbarui konfigurasi default ke lingkungan situs internasional Alibaba Cloud sebelum memanggil API pemutar apa pun.
Metode 1: Panggil antarmuka berikut untuk memperbarui konfigurasi default ke lingkungan situs internasional Alibaba Cloud.
// Saat menggunakan lingkungan global (mengecualikan Daratan Tiongkok, Hong Kong, dan Makau), pastikan untuk memanggil antarmuka berikut guna memperbarui konfigurasi default ke lingkungan Situs Web Internasional Alibaba Cloud sebelum memanggil API pemutar apa pun. Hal ini memastikan semua layanan selanjutnya berjalan di lingkungan Situs Web Internasional Alibaba Cloud. // Atur lingkungan Situs Web Internasional Alibaba Cloud melalui antarmuka terpadu AlivcBase. Pengaturan ini tidak dapat diubah selama waktu proses. AlivcBase.EnvironmentManager.globalEnvironment = ENV_SEA;Metode 2 (Disarankan): Untuk ApsaraVideo Player SDK V7.6.0 dan versi yang lebih baru, Anda dapat mengonfigurasi lingkungan situs internasional Alibaba Cloud menggunakan metode
Info.Plist.Buka file
Info.plistlalu ubah nilaiAlivcEnvmenjadiSEA.// Konfigurasikan lingkungan saat ini sebagai lingkungan Situs Web Internasional Alibaba Cloud. <key>AlivcEnv</key> <string>SEA</string>Gambar berikut menunjukkan contoh konfigurasi:

Untuk mengintegrasikan lisensi pada klien iOS, lihat Integrasikan lisensi pada klien iOS.
Langkah 3: Aktifkan logging (Opsional)
Mengaktifkan log membantu Anda dengan cepat menemukan dan memecahkan masalah. Log juga menyediakan data untuk optimasi performa dan peningkatan pengalaman pengguna. Anda dapat mengaktifkan logging sesuai skenario bisnis Anda. Untuk mendapatkan log, lihat Dapatkan 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 perlu menambahkan RtsSDK.framework. Untuk proses integrasi spesifiknya, lihat Implementasikan penarikan aliran RTS pada iOS. |
aemFilter.framework | Peningkatan audio. Opsional. |
libPluginSR.framework | Video Ultra HD. Opsional. |
normalsrFilter.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
Kode Anda atau kode pihak ketiga yang dirujuk melaporkan konflik simbol dengan AlivcFFmpeg saat integrasi
Solusi:
Jika terjadi konflik simbol dengan AlivcFFmpeg, hapus AlivcFFmpeg yang redundan dan pertahankan hanya satu. AlivcFFmpeg adalah ekstensi ffmpeg yang telah dikustomisasi dan sangat penting bagi ApsaraVideo Player SDK. Kami menyarankan Anda menghapus AlivcFFmpeg pihak ketiga dan mempertahankan yang berasal dari ApsaraVideo Player SDK untuk iOS. Perlu diperhatikan bahwa hal ini mungkin menyebabkan pemutar pihak ketiga tidak berfungsi dengan benar.
Error sandBox
Masalah:

Solusi:
Atur User Script SandBoxing di UserSetting menjadi NO.

Integrasi SDK video pendek
Jika Anda ingin mengintegrasikan ApsaraVideo Player SDK untuk iOS dan short video SDK ke dalam proyek Anda, kami menyarankan Anda menggunakan All-in-One SDK untuk iOS untuk integrasi tersebut. Jika tidak, masalah duplikasi kelas dapat terjadi dan menyebabkan kompilasi gagal.
Untuk informasi selengkapnya tentang masalah dan solusi yang mungkin terjadi saat menggunakan pemutar, lihat FAQ tentang ApsaraVideo Player.