このトピックでは、ApsaraVideo Player SDK for iOS を迅速に統合する方法について説明します。
前提条件
オペレーティングシステム:iOS 8.0 以降。
開発ツール:Xcode を推奨します。このトピックの手順は Xcode に基づいています。App Store から Xcode をダウンロードできます。
制限事項: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 を使用した統合
CocoaPods をインストールします。CocoaPods は Ruby 環境に依存することにご注意ください。
// ターミナルで次のコマンドを入力します sudo gem install cocoapodsCocoaPods のインストールを検証します。
インストールが完了したら、ターミナルで
pod --versionコマンドを実行して、CocoaPods がインストールされていることを確認します。xxx@ ~ % pod --version 1.16.2Podfile を作成します。
ターミナルで、ご利用のプロジェクトディレクトリに移動し、
pod initコマンドを実行します。// プロジェクトディレクトリに移動します xxx@ ~ % cd /path/yourProject // ファイルを生成します xxx@ yourProject % pod initPodfile を編集して、ApsaraVideo Player SDK の依存関係を追加します。
説明ApsaraVideo Player SDK と短編動画 SDK の両方を統合する場合は、次のコードの
AliPlayerSDK_iOSをAliPlayerPartSDK_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(オプション) 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依存関係をインストールします。
インストールコマンドを実行して、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 つだけインポートし、そのバージョンが正しいことを確認してください。
ApsaraVideo Player SDK for iOS をダウンロードします。
プレーヤーフレームワークを [Frameworks, Libraries, and Embedded Content] に追加し、[Embed] を [Embed & Sign] に設定します。
alivcffmpeg.framework: プレーヤーの基盤となるレイヤー。
AliyunMediaDownloader.framework:オフラインダウンロードに使用します。
AliyunPlayer.framework:プレーヤー。

[ビルド設定] タブをクリックします。
[Search Paths] セクションで、[Framework Search Paths] をクリックし、値をローカルのフレームワークディレクトリに設定します。
RTS コンポーネントの統合 (CocoaPods を使用) (オプション)
リアルタイムストリーミング (RTS) コンポーネントの統合の詳細については、「iOS での RTS ストリームフェッチングの実装」をご参照ください。
ステップ 2: ライセンスの設定
グローバル環境 (中国本土、香港、マカオを除く) を使用する場合、いずれかのプレーヤー API を呼び出す前に、以下のインターフェイスを呼び出してデフォルト設定を国際環境に更新する必要があります。
方法 1:次のインターフェイスを呼び出して、デフォルト設定を国際環境に更新します。
// グローバル環境 (中国本土、香港、マカオを除く) を使用する場合は、必ず次のインターフェイスを呼び出してデフォルト設定を国際環境に更新してください。これにより、後続のすべてのサービスが国際環境で実行されるようになります。 // 統一された AlivcBase インターフェイスを使用して国際環境を設定します。この設定はランタイム中に変更できません。 AlivcBase.EnvironmentManager.globalEnvironment = ENV_SEA;方法 2 (推奨):プレーヤー SDK V7.6.0 以降では、
Info.plistファイルを使用して国際環境を設定できます。Info.plistファイルを開き、AlivcEnvをSEAに設定します。// 現在の環境を国際環境として設定します。 <key>AlivcEnv</key> <string>SEA</string>次の図は設定例です:

詳細については、「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 の使用方法
統合時の AlivcFFmpeg とのシンボル競合
解決策:
AlivcFFmpeg とのシンボル競合が発生した場合は、冗長な AlivcFFmpeg フレームワークを削除し、1 つだけを残してください。AlivcFFmpeg は ffmpeg のカスタマイズされた拡張機能であり、ApsaraVideo Player SDK が機能するために不可欠です。したがって、サードパーティの AlivcFFmpeg フレームワークを削除し、ApsaraVideo Player SDK for iOS に付属のもの保持する必要があります。これにより、サードパーティのプレーヤーが正しく動作しなくなるなどの問題が発生する可能性があることにご注意ください。
サンドボックスエラー
問題:

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

短編動画 SDK の統合
iOS プレーヤー SDK と短編動画 SDK の両方をご利用のプロジェクトに統合するには、クラス重複エラーとコンパイル失敗を防ぐために、iOS オールインワン SDK の使用を推奨します。
プレーヤーに関する一般的な問題の詳細については、「プレーヤーに関するよくある質問」をご参照ください。