本文提供快速整合iOS播放器SDK的指引。
環境要求
類別 | 說明 |
系統版本 | 支援iOS 8.0及以上版本。 |
開發工具 | 建議使用Xcode,本文操作步驟基於Xcode開發。下載地址:Xcode。 |
前提條件
登入並擷取包含播放器授權的License檔案
AliVideoCert-********.crt
。具體操作,請參見擷取License。本地整合SDK時,需要先下載iOS播放器SDK包(包含了iOS播放器SDK及Demo源碼)。推薦下載使用最新版本,下載地址請參見播放器SDK。
解壓後的目錄結構如下:
檔案名稱 | 作用 |
demo | iOS播放器SDK的Demo源碼。 |
doc | iOS播放器SDK介面文檔。 |
sdk | iOS播放器SDK的framework庫,只提供了包含bitcode和模擬器的ARM_SIMULATOR檔案夾,如果需要不包含bitcode或模擬器的包,請參考以下命令產生並下載。
|
ReleaseNote | 版本說明。 |
執行sh createMoreKindsOfArch.sh
命令後,產生的各檔案說明如下:
檔案名稱 | 說明 |
ARM | 包含bitcode,不包含模擬器。 |
ARM_NO_BITCODE | 不包含bitcode,不包含模擬器。 |
ARM_SIMULATOR | 包含bitcode,包含模擬器。 |
Framework說明如下:
Framework | 說明 |
alivcffmpeg.framework | 播放器底層,必須。 |
AliyunMediaDownloader.framework | 用於離線下載,非必須。 |
AliyunPlayer.framework | 播放器,必須。 |
artcSource.framework | 支援artc協議,非必須。 |
artpSource.framework | 支援artp協議,非必須。在5.4.5.0版本已經移除了對它的依賴。 |
RtsSDK.framework | 超低延時直播,非必須。 |
AlivcConan | 在5.3.0版本已經移除了對它的依賴。 |
注意事項
在進行打包時,dSYM檔案用於crash符號表解析。
使用iOS播放器SDK時,AlivcFFmpeg和AliyunPlayer都是必需的,缺一不可。播放器標頭檔位於AliyunPlayer。
如需同時整合播放器SDK和短視頻SDK,則需要關注短視頻SDK、播放器SDK及AlivcFFmpeg的版本依賴關係,否則會導致短視頻或播放器的功能使用失敗,詳細資料,請參見AlivcFFmpeg版本依賴。
iOS播放器SDK在模擬器上調試不能保證所有功能的正常運行,建議iOS播放器SDK整合完成後使用真機進行運行調試。
iOS播放器SDK提供的安裝包中包含了模擬器,模擬器可用於代碼調試,發布時,不能包含模擬器,否則會提交AppStore失敗。
SDK整合(cocoapods整合)(推薦)
採用pod語句整合播放器SDK,範例程式碼如下:
說明如需同時整合播放器SDK和短視頻SDK,將下面代碼中的
AliPlayerSDK_iOS
替換成AliPlayerPartSDK_iOS
,AliPlayerPartSDK_iOS
不包含ffmpeg,可以避免與短視頻SDK中的ffmpeg衝突。ruby platform:ios, '8.0' target 'yourProject' do pod 'AliPlayerSDK_iOS' end
可選:如果需要支援artc協議或播放超低延時直播(RTS)流,請添加以下pod依賴,範例程式碼如下:
說明請確保引入的播放器SDK版本號碼填寫正確,否則將報錯並引入失敗。
ruby platform:ios, '8.0' target 'yourProject' do pod 'AliPlayerSDK_iOS', '5.4.7.1' pod 'AliPlayerSDK_iOS_ARTC', '5.4.7.1' pod 'RtsSDK', '2.2.0' //此處版本僅供參考,擷取最新RTS SDK的版本請參見超低延時直播SDK下載。 end
SDK整合(本地整合)
如需同時整合播放器SDK和短視頻SDK,則只需要引入一個AlivcFFmpeg即可,並請保證引入的AlivcFFmpeg版本正確。
在Xcode工程中,單擊General頁簽。
將SDK的framework添加到Frameworks,Libraries,and Embedded Content中,並將Embed設定為Embed & Sign。
單擊Build Settings頁簽。
單擊Search Paths地區下的Framework Search Paths,修改為本地framework所在的目錄。
配置License
V5.4.7.1及之後版本的iOS播放器SDK必須按以下操作配置License後,方可使用。
播放器SDK現免費提供,License有效期間為1年,1年後若無特殊約定我們將為您免費自動續期。屆時,播放器SDK會更新本地認證,建議您在App發布版本的時候整合新的本地認證。新的認證可登入點播控制台擷取,詳情參見管理License。
License配置完成後,查看日誌若無License相關報錯,則表示License配置成功。
配置的License檔案和LicenseKey和建立License時提交的應用資訊(BundleID)有嚴格的對應關係,請確保License檔案和LicenseKey和建立時的資訊保持一致,否則會出現鑒權失敗的情況。
在Xcode工程裡,通過
,將擷取到的認證檔案AliVideoCert-********.crt
拷貝到Xcode的專案中,建議放到AppSupportFiles目錄下,也可以放到沙箱或者其他路徑。在Info.plist檔案中添加如下欄位。
key為
AlivcLicenseKey
,value為LicenseKey的值。key為
AlivcLicenseFile
,value為步驟二中認證檔案的放置路徑,請根據實際情況填寫。
<key>AlivcLicenseKey</key> <string>Wo8s*******************</string> <key>AlivcLicenseFile</key> <string>license.crt</string>
常見整合問題
您的代碼或引用的第三方代碼,在整合時報與AlivcFFmpeg或AlivcConan的symbol有衝突
解決方案如下:
報與AlivcConan的symbol有衝突:因為AlivcConan從5.3.0版本開始不再需要依賴,您可以將AlivcConan從Linked Frameworks and Libraries裡刪除,app link可以不依賴AlivcConan。
報與AlivcFFmpeg的symbol有衝突:您需要刪除多餘的AlivcFFmpeg,僅保留一個AlivcFFmpeg即可。由於AlivcFFmpeg是對ffmpeg的拓展和定製,是阿里雲播放器SDK實現的關鍵,因此,建議您刪除第三方的AlivcFFmpeg,保留阿里雲iOS播放器SDK的AlivcFFmpeg引用,但由此可能造成第三方播放器無法正常使用等的問題請您知悉。
更多關於播放器使用過程中出現的問題及解決方案,請參見播放器問題。