全部產品
Search
文件中心

ApsaraVideo VOD:整合準備

更新時間:Sep 10, 2026

本文介紹AliPlayerKit整合步驟和前提條件,協助您快速將AliPlayerKit整合到iOS專案中。

說明

AI友好提示:本文檔為結構化文檔,步驟清晰,適合AI解析與執行。可作為Skills用於輔助開發流程,推薦使用AI輔助接入AliPlayerKit。

整合流程概覽

重要

請確保已訪問AliPlayerKit完成專案下載。

AliPlayerKit提供兩種整合方案,您可以根據業務需求選擇:

整合方案

說明

適用情境

組件層整合

整合PlayerKit核心模組。

需要自訂播放器UI或靈活控制播允許存取為。

情境層整合

在組件層基礎上整合PlayerKitScenes情境模組。

快速實現標準播放情境。

說明

情境層相依元件層。若選擇情境層整合,需先完成組件層整合。

前提條件

開發環境要求

專案

最低要求

說明

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'
end
說明

PlayerKit.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

說明

SceneCommon

PlayerKitScenes/SceneCommon

情境公用模組(自動作為基礎依賴引入)

SceneLongVideo

PlayerKitScenes/SceneLongVideo

中長視頻情境

SceneShortVideo

PlayerKitScenes/SceneShortVideo

短視頻情境

SceneLive

PlayerKitScenes/SceneLive

直播情境。額外依賴 DemoSettings 模組(Demo 級配置儲存),單獨整合時需一併拷貝 DemoSettings/ 目錄,否則 pod install 會失敗

ScenePlaylist

PlayerKitScenes/ScenePlaylist

列表播放情境

步驟3:安裝並驗證

pod install

編譯通過即表示情境層整合成功。

SDK升級指南

AliPlayerKit依賴以下底層SDK:

SDK

說明

AliPlayerSDK_iOS

阿里雲播放器SDK,提供視頻解碼、渲染及播放控制等基礎播放能力。

RtsSDK

阿里雲RTS SDK,提供超低延時直播播放能力(可選)。

查看版本資訊

  • 運行時可通過 [AliPlayerKit getSdkVersion] 擷取底層 SDK 版本號碼。

  • 通過 [AliPlayerKit getPlayerKitVersion] 擷取 AliPlayerKit 組件版本號碼。

  • 查看下載播放器SDK和iOS SDK發布歷史。

升級步驟

  1. 確認版本相容性。

    升級前建議查閱 SDK 發布歷史與更新日誌,確認目標版本是否存在 Breaking Changes。

  2. 修改 Podfile 版本號碼。

    pod 'AliPlayerSDK_iOS', '~> x.x.x'  # 替換為目標版本
    
    # RTS(如使用直播情境)
    # pod 'AliPlayerSDK_iOS_ARTC', '~> x.x.x'
    # pod 'RtsSDK', '~> x.x.x'
  3. 執行更新。

    pod update AliPlayerSDK_iOS
  4. 驗證升級。

    • 編譯通過,無連結錯誤。

    • 驗證核心播放功能:播放、暫停、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] 後播放異常。

排查步驟:

  1. 確認在 AppDelegate 的 application:didFinishLaunchingWithOptions: 中調用。

  2. 確認 License 已正確配置(詳見 管理License)。

  3. 通過 [AliPlayerKit isInitialized] 確認初始化成功。

  4. setup 內建等冪保護(dispatch_once),重複調用不會拋異常。

  5. 如需注入全域 SDK 配置,確認 setOnGlobalInitBlock: 在 setup 之前設定。

日誌調試

如果遇到播放異常,可開啟調試日誌輔助排查:

// 開啟偵錯模式
[AliPlayerKit setDebugModeEnabled:YES];
// 設定記錄層級為 Verbose,輸出最詳細的日誌
[AliPlayerKit setLogLevel:LogLevelVerbose];

日誌系統的詳細使用方式請參閱 日誌系統。