ApsaraVideo Player SDK for iOS'u projenize hızlıca entegre edin.
Gereksinimler
İşletim sistemi: iOS 8.0 veya sonraki bir sürüm.
Geliştirme aracı: Xcode önerilir. Bu konuda Xcode kullanılmaktadır. İndirmek için: Xcode.
ApsaraVideo Player SDK for iOS, simülatörleri desteklemez. Uygulamaları gerçek bir cihazda çalıştırmanız gerekir.
Ön koşullar
Oynatıcı yetkilendirmesi için bir lisans dosyası edindiniz; örneğin
AliVideoCert-********.crt. Daha fazla bilgi için bkz. Lisans alma.Manuel entegrasyon için en son ApsaraVideo Player SDK for iOS paketini indirin. Bkz. indir.
Kullanım notları
Uygulamanızı paketlerken, kilitlenme raporlarını sembolize etmek için dSYM dosyası kullanılır.
ApsaraVideo Player SDK for iOS, AlivcFFmpeg ve AliyunPlayer çerçevelerini gerektirir. Oynatıcı üstbilgi dosyaları AliyunPlayer içinde bulunur.
Hem oynatıcı SDK'sını hem de kısa video SDK'sını entegre ediyorsanız kısa video SDK'sı, oynatıcı SDK'sı ve AlivcFFmpeg arasında sürüm uyumluluğunu sağladığınızdan emin olun. Sürüm uyuşmazlıkları, özellik hatalarına neden olabilir. Daha fazla bilgi için bkz. AlivcFFmpeg bağımlılıkları.
ApsaraVideo Player SDK for iOS paketi simülatör mimarilerini içerir. Uygulamanızı App Store'a gönderirken reddedilmeyi önlemek için bunları kaldırın.
Video eğitimi
1. Adım: SDK'yı entegre edin
CocoaPods entegrasyonu
-
CocoaPods'u yükleyin. Bu işlem bir Ruby ortamı gerektirir.
// In Terminal, run the following command: sudo gem install cocoapods -
CocoaPods kurulumunu doğrulayın.
Kurulumu doğrulamak için terminalinizde
pod --versionkomutunu çalıştırın.xxx@ ~ % pod --version 1.16.2 -
Bir Podfile oluşturun.
Terminalinizde proje dizininize gidin ve bir Podfile oluşturmak için
pod initkomutunu çalıştırın.// Go to your project directory. xxx@ ~ % cd /path/yourProject // Generate the Podfile. xxx@ yourProject % pod init -
Oynatıcı SDK'sı bağımlılığını eklemek için Podfile'ı düzenleyin.
NotHem oynatıcı SDK'sını hem de kısa video SDK'sını entegre etmek için aşağıdaki kodda
AliPlayerSDK_iOSifadesiniAliPlayerPartSDK_iOSile değiştirin.AliPlayerPartSDK_iOSFFmpeg içermez; bu da kısa video SDK'sındaki FFmpeg ile çakışmaları önler.Oynatıcı SDK'sı için doğru sürüm numarasını girin. Aksi takdirde içe aktarma başarısız olur ve hata bildirir. Oynatıcı SDK'sı sürümleri için bkz. ApsaraVideo Player SDK for iOS Sürüm Notları.
source 'https://github.com/CocoaPods/Specs.git' platform:ios, '8.0' target 'yourProject' do # Player SDK. We recommend that you use the latest version. pod 'AliPlayerSDK_iOS' end -
(Opsiyonel) Belirli bir oynatıcı SDK'sı sürümüne bağımlılık ekleyin.
source 'https://github.com/CocoaPods/Specs.git' platform:ios, '8.0' player_sdk_version = '7.18.0' target 'yourProject' do # Player SDK. We recommend that you use the latest version. pod 'AliPlayerSDK_iOS' , player_sdk_version end -
Bağımlılıkları yükleyin.
Bağımlılıkları yüklemek için aşağıdaki komutu çalıştırın.
pod installAşağıdaki çıktı, başarılı bir kurulumu gösterir.
xxx@ yourProject % pod install Analyzing dependencies Downloading dependencies Installing AliPlayerSDK_iOS (7.18.0) Generating Pods project Integrating client project Pod installation complete! There is 1 dependency from the Podfile and 1 total pod installed.Oynatıcı SDK'sını güncellemek için aşağıdaki komutu çalıştırın.
pod update AliPlayerSDK_iOS
Manuel entegrasyon
Hem oynatıcı SDK'sını hem de kısa video SDK'sını entegre ediyorsanız yalnızca bir AlivcFFmpeg çerçevesini içe aktarın ve doğru sürümü kullandığınızdan emin olun.
ApsaraVideo Player SDK for iOS öğesini indirin.
-
Oynatıcı çerçevelerini Frameworks, Libraries, and Embedded Content bölümüne ekleyin ve Embed seçeneğini Embed & Sign olarak ayarlayın.
alivcffmpeg.framework: Oynatıcının temel çerçevesi.
AliyunMediaDownloader.framework: Çevrimdışı indirme için kullanılır.
-
AliyunPlayer.framework: Oynatıcı çerçevesi.

Build Settings sekmesine tıklayın.
Search Paths bölümünde Framework Search Paths değerini yerel çerçeve dizininize ayarlayın.
(Opsiyonel) RTS entegrasyonu (CocoaPods)
Gerçek Zamanlı Akış (RTS) bileşenini entegre etmek için bkz. iOS'ta RTS tabanlı akış çekmeyi uygulayın.
2. Adım: Lisansı yapılandırın
Oynatıcıyı Çin anakarası, Hong Kong ve Makao dışındaki bölgelerde (uluslararası site) kullanırken diğer tüm oynatıcı API'lerini çağırmadan önce ortamı ayarlamak için aşağıdaki API'yi çağırmanız gerekir.
-
Yöntem 1: Varsayılan yapılandırmayı uluslararası site ortamına güncellemek için aşağıdaki API'yi çağırın.
// For the international site, you must call this API before any other player APIs // to set the environment. This setting cannot be changed at runtime. AlivcBase.EnvironmentManager.globalEnvironment = ENV_SEA; -
Yöntem 2(Önerilen): Oynatıcı SDK'sı 7.6.0 ve sonraki sürümlerinde uluslararası site ortamını
Info.plistdosyasında yapılandırabilirsiniz.Info.plistdosyasını açın veAlivcEnvdeğeriniSEAolarak değiştirin.// Configure the current environment as the international site. <key>AlivcEnv</key> <string>SEA</string>Aşağıdaki görselde bir yapılandırma örneği gösterilmektedir:

iOS istemcinizde lisansı yapılandırmak için bkz. iOS'ta lisans yapılandırma.
3. Adım: Günlük kaydını etkinleştirin (Opsiyonel)
Sorun gidermeye yardımcı olması için günlük kaydını etkinleştirin. Günlükleri nasıl alacağınızla ilgili talimatlar için bkz. SDK günlüklerini alma.
// Enable logging.
[AliPlayer setEnableLog:YES];
// Set the log level. The default is LOG_LEVEL_INFO. For troubleshooting, set it to LOG_LEVEL_TRACE.
[AliPlayer setLogCallbackInfo:LOG_LEVEL_INFO callbackBlock:nil];
Proje yapısı
Çerçeve | Açıklama |
alivcffmpeg.framework | Oynatıcının temel çerçevesi. Gereklidir. |
AliyunMediaDownloader.framework | Çevrimdışı indirme için kullanılır. Opsiyoneldir. |
AliyunPlayer.framework | Oynatıcı çerçevesi. Gereklidir. |
artcSource.framework | ARTC protokolünü destekler. Opsiyoneldir. Not ARTC protokolünü desteklemek için RtsSDK.framework öğesini de eklemeniz gerekir. Entegrasyon ayrıntıları için bkz. iOS'ta RTS tabanlı akış çekmeyi uygulayın. |
aemFilter.framework | Ses geliştirmeyi etkinleştirir. Opsiyoneldir. |
libPluginSR.framework | Süper çözünürlüğü etkinleştirir. Opsiyoneldir. |
normalsrFilter.framework | Süper çözünürlüğü etkinleştirir. Opsiyoneldir. |
srFilter.framework | Süper çözünürlüğü etkinleştirir. Opsiyoneldir. |
vfiFilter.framework | Video kare ekleme özelliğini etkinleştirir. Opsiyoneldir. |
vvcCodecPlugin.framework | H.266 kod çözme eklentisi. Opsiyoneldir. |
SSS
CocoaPods kullanma
AlivcFFmpeg ile sembol çakışmaları
Çözüm:
AlivcFFmpeg ile sembol çakışmalarıyla karşılaşırsanız yinelenen bağımlılığı kaldırın. ApsaraVideo Player SDK for iOS ile sağlanan sürümü tutun ve üçüncü taraf sürümü kaldırın. Bu işlem üçüncü taraf oynatıcı işlevselliğini etkileyebilir.
Sandbox hatası
-
Sorun:

-
Çözüm:
UserSetting içinde User Script SandBoxing değerini NO olarak ayarlayın.

Kısa video SDK'sı entegrasyonu
Hem ApsaraVideo Player SDK for iOS'u hem de kısa video SDK'sını entegre etmek için yinelenen sınıf sorunlarını ve derleme hatalarını önlemek üzere iOS için hepsi bir arada SDK kullanın.
Diğer oynatıcı sorunları ve çözümleri için bkz. ApsaraVideo Player ile ilgili SSS.