本文介紹AliPlayerKit整合步驟和前提條件,協助您快速將AliPlayerKit整合到iOS專案中。
AI友好提示:本文檔為結構化文檔,步驟清晰,適合AI解析與執行。可作為Skills用於輔助開發流程,推薦使用AI輔助接入AliPlayerKit。
整合流程概覽
請確保已訪問AliPlayerKit完成專案下載。
AliPlayerKit提供兩種整合方案,您可以根據業務需求選擇:
整合方案 | 說明 | 適用情境 |
組件層整合 | 整合 | 需要自訂播放器UI或靈活控制播允許存取為。 |
情境層整合 | 在組件層基礎上整合 | 快速實現標準播放情境。 |
情境層相依元件層。若選擇情境層整合,需先完成組件層整合。
前提條件
開發環境要求
專案 | 最低要求 | 說明 |
iOS Deployment Target | 9.0+ | Podspec聲明的最低版本。 |
Xcode | 15.0+ | 推薦最新穩定版。 |
CocoaPods | 1.13.0+ | 依賴管理工具。 |
開發語言 | Objective-C | Swift專案可通過橋接調用。 |
架構 | arm64 | 真機運行。 |
PlayerKit使用Objective-C開發,對於Swift工程,推薦參考 Swift-Call-OC-Example方案完成PlayerKit的整合與使用。
License準備
已擷取音視頻終端SDK的播放器License授權認證和License Key,詳情請參見管理License。
未正確配置License將導致播放器無法正常工作,播放時出現黑屏等異常。
方案一:組件層整合
PlayerKit核心模組提供開箱即用、可配置的播放器UI組件,覆蓋基礎播放與常見互動能力。
步驟1:拷貝模組到專案中
將PlayerKit/目錄拷貝到您的專案工程目錄下(與您的Podfile同級或合適的子目錄中):
YourProject/
├── YourApp/
├── PlayerKit/ # ← 拷貝此目錄
│ ├── PlayerKit.podspec
│ ├── Source/
│ └── Resources/
└── Podfile步驟2:配置Podfile
在Podfile中通過本地路徑引用PlayerKit:
platform :ios, '9.0'
target 'YourApp' do
use_frameworks!
# 核心組件(必選,通過本地路徑引用)
pod 'PlayerKit', :path => './PlayerKit'
# 底層播放器SDK(必選)
pod 'AliPlayerSDK_iOS', '~> 7.15.0'
# 直播RTS超低延時(可選,僅直播情境需要)
# pod 'AliPlayerSDK_iOS_ARTC', '~> 7.15.0'
# pod 'RtsSDK', '~> 7.12.0'
endPlayerKit.podspec 內部聲明了對 AliPlayerSDK_iOS 和 SDWebImage 的依賴,pod install 時會自動拉取。AliPlayerSDK_iOS 提供視頻解碼與渲染能力,SDWebImage 用於封面圖載入。如果您的專案已有 SDWebImage,請注意版本相容性。
步驟3:安裝依賴
pod install
open YourApp.xcworkspace使用CocoaPods後請通過.xcworkspace開啟工程,而非.xcodeproj。
步驟4:配置License
播放器SDK需要有效License授權才能正常工作。請參閱管理License完成License的擷取與配置。
請確保License註冊在[AliPlayerKit setup]之前完成。
步驟5:全域初始化
在AppDelegate中完成架構初始化(整個應用生命週期只需調用一次):
#import <PlayerKit/AliPlayerKit.h>
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// (可選)全域 SDK 配置,如 setOption 等
// [AliPlayerKit setOnGlobalInitBlock:^{
// // 全域配置在 setup 後僅執行一次
// }];
// 初始化 AliPlayerKit
[AliPlayerKit setup];
return YES;
}import AliPlayerKit
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// (可選)全域 SDK 配置
// AliPlayerKit.setOnGlobalInitBlock {
// // 全域配置在 setup 後僅執行一次
// }
// 初始化 AliPlayerKit
AliPlayerKit.setup()
return true
}[AliPlayerKit setup]內部使用dispatch_once保證等冪,重複調用安全忽略。setOnGlobalInitBlock:必須在setup之前設定,用於注入全域級 SDK 配置。可通過
[AliPlayerKit isInitialized]查詢初始化狀態。
步驟6:驗證整合
驗證檢查清單:
pod install成功,無依賴衝突。
License已正確配置。
AppDelegate中調用
[AliPlayerKit setup]。編譯通過(Cmd + B),無連結錯誤。
方案二:情境層整合
情境層(PlayerKitScenes)在組件層基礎上,提供針對特定業務情境的標準播放方案。每個情境模組獨立可選,可按需引入。
在整合情境層之前,請先完成方案一:組件層整合的全部步驟。
步驟1:拷貝模組到專案中
將PlayerKitScenes/目錄拷貝到專案中(與PlayerKit/同級):
YourProject/
├── YourApp/
├── PlayerKit/ # 組件層(已拷貝)
├── PlayerKitScenes/ # ← 拷貝此目錄
│ ├── PlayerKitScenes.podspec
│ ├── SceneCommon/
│ ├── SceneLongVideo/
│ ├── SceneShortVideo/
│ ├── SceneLive/
│ └── ScenePlaylist/
└── Podfile步驟2:配置Podfile
在 Podfile 中通過本地路徑引用 PlayerKitScenes:
target 'YourApp' do
use_frameworks!
# 核心組件(必選)
pod 'PlayerKit', :path => './PlayerKit'
pod 'AliPlayerSDK_iOS', '~> 7.15.0'
# 播放情境方案(按需引入)
pod 'PlayerKitScenes', :path => './PlayerKitScenes'
# 或按需選擇單個情境:
# pod 'PlayerKitScenes/SceneLongVideo', :path => './PlayerKitScenes'
# pod 'PlayerKitScenes/SceneShortVideo', :path => './PlayerKitScenes'
# pod 'PlayerKitScenes/SceneLive', :path => './PlayerKitScenes'
# pod 'PlayerKitScenes/ScenePlaylist', :path => './PlayerKitScenes'
end情境模組說明:
情境模組 | Pod Subspec | 說明 |
|
| 情境公用模組(自動作為基礎依賴引入) |
|
| 中長視頻情境 |
|
| 短視頻情境 |
|
| 直播情境。額外依賴 |
|
| 列表播放情境 |
步驟3:安裝並驗證
pod install編譯通過即表示情境層整合成功。
SDK升級指南
AliPlayerKit依賴以下底層SDK:
SDK | 說明 |
AliPlayerSDK_iOS | 阿里雲播放器SDK,提供視頻解碼、渲染及播放控制等基礎播放能力。 |
RtsSDK | 阿里雲RTS SDK,提供超低延時直播播放能力(可選)。 |
查看版本資訊
運行時可通過
[AliPlayerKit getSdkVersion]擷取底層 SDK 版本號碼。通過
[AliPlayerKit getPlayerKitVersion]擷取 AliPlayerKit 組件版本號碼。
升級步驟
確認版本相容性。
升級前建議查閱 SDK 發布歷史與更新日誌,確認目標版本是否存在 Breaking Changes。
修改 Podfile 版本號碼。
pod 'AliPlayerSDK_iOS', '~> x.x.x' # 替換為目標版本 # RTS(如使用直播情境) # pod 'AliPlayerSDK_iOS_ARTC', '~> x.x.x' # pod 'RtsSDK', '~> x.x.x'執行更新。
pod update AliPlayerSDK_iOS驗證升級。
編譯通過,無連結錯誤。
驗證核心播放功能:播放、暫停、Seek、倍速等。
驗證特定播放情境:如 RTS 超低延時直播等。
升級SDK後,建議記錄升級前後的版本號碼,以便後續問題排查和版本追溯。
常見問題
License相關問題
問題:播放器報License錯誤或播放黑屏。
請確認License已正確擷取與配置,詳見管理License。常見原因包括:認證檔案未正確添加到工程、License Key不匹配、Bundle ID與License綁定的包名不一致、License已到期等。
依賴衝突問題
問題:pod install失敗,提示依賴衝突。
排查步驟:檢查專案中是否已存在SDWebImage的不同版本(PlayerKit依賴SDWebImage);使用pod update嘗試更新到相容版本;執行pod repo update重新整理本地倉庫索引後重試。
初始化問題
問題:調用 [AliPlayerKit setup] 後播放異常。
排查步驟:
確認在
AppDelegate的application:didFinishLaunchingWithOptions:中調用。確認 License 已正確配置(詳見 管理License)。
通過
[AliPlayerKit isInitialized]確認初始化成功。setup內建等冪保護(dispatch_once),重複調用不會拋異常。如需注入全域 SDK 配置,確認
setOnGlobalInitBlock:在setup之前設定。
日誌調試
如果遇到播放異常,可開啟調試日誌輔助排查:
// 開啟偵錯模式
[AliPlayerKit setDebugModeEnabled:YES];
// 設定記錄層級為 Verbose,輸出最詳細的日誌
[AliPlayerKit setLogLevel:LogLevelVerbose];日誌系統的詳細使用方式請參閱 日誌系統。