本文提供快速集成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引用,但由此可能造成第三方播放器無法正常使用等的問題請您知悉。
更多關于播放器使用過程中出現的問題及解決方案,請參見播放器問題。