すべてのプロダクト
Search
ドキュメントセンター

ApsaraVideo VOD:SDK の統合

最終更新日:Dec 19, 2025

このトピックでは、ApsaraVideo Player SDK for iOS を迅速に統合する方法について説明します。

動作環境

  • オペレーティングシステム:iOS 8.0 以降。

  • 開発ツール:Xcode を推奨します。このトピックの手順では Xcode を使用します。‎Xcode からダウンロードできます。

  • 制限事項:ApsaraVideo Player SDK for iOS はエミュレーターをサポートしていません。統合後、プロジェクトは物理デバイスで実行する必要があります。

前提条件

  • プレーヤーの権限付与を含むライセンスファイル AliVideoCert-********.crt を登録して取得済みであること。詳細については、「ライセンスの取得」をご参照ください。

  • ローカル統合の場合は、ApsaraVideo Player SDK for iOS パッケージをダウンロードします。最新バージョンをダウンロードすることを推奨します。

注意

  • dSYM ファイルは、パッケージング中にクラッシュシンボルテーブルを解析するために使用されます。

  • ApsaraVideo Player SDK for iOS を使用する場合、AlivcFFmpeg と AliyunPlayer の両方が必要です。プレーヤーのヘッダーファイルは AliyunPlayer にあります。

  • ApsaraVideo Player SDK と短編動画 SDK の両方を統合する場合は、短編動画 SDK、ApsaraVideo Player SDK、および AlivcFFmpeg 間のバージョン依存関係にご注意ください。注意しない場合、短編動画 SDK またはプレーヤーの機能が動作しない可能性があります。詳細については、「AlivcFFmpeg のバージョン依存関係」をご参照ください。

  • ApsaraVideo Player SDK for iOS のインストールパッケージには、エミュレーターアーキテクチャが含まれています。アプリを公開する前に、このアーキテクチャを削除する必要があります。削除しない場合、App Store への提出が拒否されます。

ステップ 1: SDK の統合

CocoaPods による統合

  1. CocoaPods をインストールします。CocoaPods は Ruby 環境に依存します。

    // ターミナルで実行
    sudo gem install cocoapods
  2. CocoaPods のインストールを検証します。

    インストールが完了したら、ターミナルで pod --version コマンドを実行して、CocoaPods がインストールされていることを確認します。

    xxx@ ~ % pod --version
    1.16.2
  3. Podfile を作成します。

    ターミナルで、プロジェクトディレクトリに移動します。pod init コマンドを実行して Podfile を作成します。

    // プロジェクトディレクトリに移動します
    xxx@ ~ %  cd /path/yourProject
    // ファイルを生成します
    xxx@ yourProject % pod init
  4. Podfile を編集して、ApsaraVideo Player SDK の依存関係を追加します。

    説明
    • ApsaraVideo Player SDK と短編動画 SDK の両方を統合する場合は、次のコードの AliPlayerSDK_iOSAliPlayerPartSDK_iOS に置き換えてください。AliPlayerPartSDK_iOS には ffmpeg が含まれていません。これにより、短編動画 SDK の ffmpeg との競合を防ぐことができます。

    • ApsaraVideo Player SDK のバージョン番号が正しく入力されていることを確認してください。正しくない場合、エラーが発生してインポートが失敗します。SDK のバージョンに関する詳細については、「ApsaraVideo Player SDK for iOS のリリースノート」をご参照ください。

    source 'https://github.com/CocoaPods/Specs.git'
    platform:ios, '8.0'
    
    target 'yourProject' do
        # ApsaraVideo Player SDK。最新バージョンの使用を推奨します。
        pod 'AliPlayerSDK_iOS'
    end
  5. (オプション) ApsaraVideo Player SDK の特定のバージョンへの依存関係を追加します。

    source 'https://github.com/CocoaPods/Specs.git'
    platform:ios, '8.0'
    
    player_sdk_version = '7.10.0'
    
    target 'yourProject' do
        # ApsaraVideo Player SDK。最新バージョンの使用を推奨します。
        pod 'AliPlayerSDK_iOS' , player_sdk_version
    end
  6. 依存関係をインストールします。

    インストールコマンドを実行して、ApsaraVideo Player SDK の依存関係をローカルリポジトリに追加します。

    pod install

    次の出力は、インストールが成功したことを示します。

    xxx@ yourProject % pod install
    Analyzing dependencies
    Downloading dependencies
    Installing AliPlayerSDK_iOS (7.8.0)
    Generating Pods project
    Integrating client project
    Pod installation complete! There is 1 dependency from the Podfile and 1 total pod installed.

    次のコマンドを実行して、ApsaraVideo Player SDK を更新します。

    pod update AliPlayerSDK_iOS

ローカル統合

説明

ApsaraVideo Player SDK と短編動画 SDK の両方を統合する場合は、AlivcFFmpeg を 1 つだけインポートし、そのバージョンが正しいことを確認してください。

  1. ApsaraVideo Player SDK for iOS をダウンロードします。

  2. プレーヤーのフレームワークを [Frameworks, Libraries, and Embedded Content] に追加し、[Embed][Embed & Sign] に設定します。

    • alivcffmpeg.framework:プレーヤーの基盤レイヤー。

    • AliyunMediaDownloader.framework:オフラインダウンロード用。

    • AliyunPlayer.framework:プレーヤー。

      本地集成

  3. [ビルド設定] タブをクリックします。

  4. [Search Paths] セクションで、[Framework Search Paths] をクリックし、値をローカルフレームワークが配置されているディレクトリに変更します。

リアルタイムストリーミング (RTS) の統合 (CocoaPods による統合) (オプション)

RTS コンポーネントを統合するには、「iOS での RTS ストリームフェッチングの実装」をご参照ください。

ステップ 2: ライセンスの設定

重要

中国本土、香港、マカオを除くグローバル環境を使用する場合、いずれかのプレーヤー API を呼び出す前に、必ず次のインターフェイスを呼び出して、デフォルト設定を Alibaba Cloud 国際サイト環境に更新してください。

  1. 方法 1:次のインターフェイスを呼び出して、デフォルト設定を Alibaba Cloud 国際サイト環境に更新します。

    // グローバル環境 (中国本土、香港、マカオを除く) を使用する場合、プレーヤー API を呼び出す前に、必ず次のインターフェイスを呼び出して、デフォルト設定を Alibaba Cloud 国際サイト環境に更新してください。これにより、後続のすべてのサービスが Alibaba Cloud 国際サイト環境で実行されるようになります。
    // 統一された AlivcBase インターフェイスを介して Alibaba Cloud 国際サイト環境を設定します。この設定はランタイム中に変更できません。
    AlivcBase.EnvironmentManager.globalEnvironment = ENV_SEA;
  2. 方法 2 (推奨):ApsaraVideo Player SDK V7.6.0 以降では、Info.Plist メソッドを使用して Alibaba Cloud 国際サイト環境を設定できます。

    Info.plist ファイルを開き、AlivcEnv の値を SEA に変更します。

    // 現在の環境を Alibaba Cloud 国際サイト環境として設定します。
    <key>AlivcEnv</key>
    <string>SEA</string>

    次の図は設定例です:1754557498401-1d235342-3c0b-4c83-bcee-ae7656e8ff23

iOS クライアントにライセンスを組み込むには、「iOS クライアントにライセンスを組み込む」をご参照ください。

ステップ 3:ログ記録の有効化 (任意)

ログを有効にすると、問題の迅速な特定とトラブルシューティングに役立ちます。また、ログはパフォーマンスの最適化やユーザーエクスペリエンス向上のためのデータも提供します。ビジネスシナリオに基づいてログを有効にできます。ログを取得する方法については、「SDK ログの取得」をご参照ください。

// ログを有効にします。
[AliPlayer setEnableLog:YES];
// ログレベルを設定します。デフォルトのレベルは LOG_LEVEL_INFO です。問題をトラブルシューティングするには、レベルを LOG_LEVEL_TRACE に設定します。
[AliPlayer setLogCallbackInfo:LOG_LEVEL_INFO callbackBlock:nil];

プロジェクト構造

フレームワーク

説明

alivcffmpeg.framework

プレーヤーの基盤となるレイヤー。必須。

AliyunMediaDownloader.framework

オフラインダウンロード用。任意。

AliyunPlayer.framework

プレーヤー。必須。

artcSource.framework

artc プロトコルをサポートします。オプション。

説明

artc プロトコルをサポートするには、RtsSDK.framework も追加する必要があります。具体的な統合プロセスについては、「iOS で RTS ストリームフェッチングを実装する」をご参照ください。

aemFilter.framework

オーディオエンハンスメント。オプション。

libPluginSR.framework

ビデオ超解像。オプション。

normalsrFilter.framework

ビデオ超解像。オプション。

srFilter.framework

ビデオ超解像。オプション。

vfiFilter.framework

ビデオフレーム補間。オプション。

vvcCodecPlugin.framwork

H.266 デコードプラグイン。任意。

一般的な統合の問題

CocoaPods の使用方法

CocoaPods の使用方法

// プロジェクトから CocoaPods の依存関係を解除します。
pod deintegrate 

// ローカルの CocoaPods ソースリポジトリのインデックスを更新します。
// シナリオ:
// 新しい依存関係を追加する際、このコマンドで利用可能な最新バージョンを確実に取得できます。
// ライブラリのバージョンが利用できない場合、または新しいバージョンが存在することを知っていてもプロジェクトに表示されない場合に、このコマンドで更新できます。
pod repo update

// プロジェクト内の Pod を更新します。
// シナリオ:
// プロジェクト内のすべての Pod をサポートされている最新バージョンに更新したい場合、このコマンドを使用します。
// Podfile で一部の依存関係にバージョン範囲を指定している場合があります。'pod update' を使用すると、これらの範囲を満たし、対応するライブラリを更新しようとします。
pod update

// 'pod install' と同じ機能を実行しますが、インストール前にローカルの CocoaPods リポジトリインデックスの更新を強制します。
// シナリオ:
// このコマンドは、新しいライブラリを追加したり、Podfile で指定されたライブラリの最新バージョンを使用したい場合に便利です。特に、必要なライブラリのバージョンが利用できないというエラーメッセージが表示された場合に役立ちます。
pod install --repo-update

// Pod キャッシュをクリーンアップします。
// 注意事項:
// 1. キャッシュをクリーンアップしても、Podfile.lock や Podfile ファイルは変更されません。したがって、'pod install' または 'pod update' を実行すると、CocoaPods は既存のマニフェストとロックファイルの状態に基づいて、必要なライブラリを再ダウンロードします。
// 2. 通常、キャッシュのクリアは日常的な手順ではなく、特定の問題に直面した場合にのみ必要です。通常の状況では、CocoaPods はキャッシュを適切に管理します。
pod cache clean --all

統合中にコードまたは参照するサードパーティコードが AlivcFFmpeg とのシンボル競合を報告する場合

解決策:

  • AlivcFFmpeg とのシンボル競合が発生した場合は、冗長な AlivcFFmpeg を削除し、1 つだけを残してください。AlivcFFmpeg は ffmpeg のカスタマイズされた拡張機能であり、ApsaraVideo Player SDK にとって非常に重要です。サードパーティの AlivcFFmpeg を削除し、ApsaraVideo Player SDK for iOS のものを保持することを推奨します。ただし、これによりサードパーティのプレーヤーが正しく動作しなくなる可能性があることにご注意ください。

sandBox エラー

  • 問題:

    截屏2024-12-06 16

  • 解決策:

    UserSetting の User Script SandBoxing を NO に設定します。

    1735888658101-5633103e-468d-4341-adaa-f5f52814aa36

短編動画 SDK の統合

ApsaraVideo Player SDK for iOS と短編動画 SDK の両方をプロジェクトに統合する場合は、All-in-One SDK for iOS を使用して統合することを推奨します。そうしない場合、クラスの重複問題が発生し、コンパイルが失敗する可能性があります。

プレーヤー使用時に発生する可能性のある問題とソリューションの詳細については、「ApsaraVideo Player に関するよくある質問」をご参照ください。

機能ドキュメント

基本機能

高度な機能