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

ApsaraVideo VOD:SDK の統合

最終更新日:Dec 06, 2025

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

前提条件

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

  • 開発ツール:Xcode を推奨します。このトピックの手順は Xcode に基づいています。App Store から ‎Xcode をダウンロードできます。

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

前提条件

  • アプリケーションを登録し、プレーヤーを認証するライセンスファイル AliVideoCert-********.crt を取得済みであること。詳細については、「ライセンスの取得」をご参照ください。

  • SDK をローカルで統合する場合は、iOS プレーヤー SDK パッケージをダウンロードする必要があります。最新バージョンをダウンロードすることを推奨します。

注意

  • 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 コマンドを実行します。

    // プロジェクトディレクトリに移動します
    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 の正しいバージョン番号を入力していることを確認してください。そうしないと、インポートエラーが発生します。バージョン番号は、「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 を呼び出す前に、以下のインターフェイスを呼び出してデフォルト設定を国際環境に更新する必要があります。

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

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

    Info.plist ファイルを開き、AlivcEnvSEA に設定します。

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

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

詳細については、「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

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

mpfFilter.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 に付属のもの保持する必要があります。これにより、サードパーティのプレーヤーが正しく動作しなくなるなどの問題が発生する可能性があることにご注意ください。

サンドボックスエラー

  • 問題:

    截屏2024-12-06 16

  • 解決策:

    [Build Settings] で、[User Script Sandboxing] を [No] に設定します。

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

短編動画 SDK の統合

iOS プレーヤー SDK と短編動画 SDK の両方をご利用のプロジェクトに統合するには、クラス重複エラーとコンパイル失敗を防ぐために、iOS オールインワン SDK の使用を推奨します。

プレーヤーに関する一般的な問題の詳細については、「プレーヤーに関するよくある質問」をご参照ください。

機能ドキュメント

基本機能

高度な機能