このトピックでは、ApsaraVideo Player SDK for iOS を迅速に統合する方法について説明します。
動作環境
オペレーティングシステム:iOS 8.0 以降。
開発ツール:Xcode を推奨します。このトピックの手順では Xcode を使用します。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コマンドを実行して Podfile を作成します。// プロジェクトディレクトリに移動します 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 のバージョン番号が正しく入力されていることを確認してください。正しくない場合、エラーが発生してインポートが失敗します。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 を呼び出す前に、必ず次のインターフェイスを呼び出して、デフォルト設定を Alibaba Cloud 国際サイト環境に更新してください。
方法 1:次のインターフェイスを呼び出して、デフォルト設定を Alibaba Cloud 国際サイト環境に更新します。
// グローバル環境 (中国本土、香港、マカオを除く) を使用する場合、プレーヤー API を呼び出す前に、必ず次のインターフェイスを呼び出して、デフォルト設定を Alibaba Cloud 国際サイト環境に更新してください。これにより、後続のすべてのサービスが Alibaba Cloud 国際サイト環境で実行されるようになります。 // 統一された AlivcBase インターフェイスを介して Alibaba Cloud 国際サイト環境を設定します。この設定はランタイム中に変更できません。 AlivcBase.EnvironmentManager.globalEnvironment = ENV_SEA;方法 2 (推奨):ApsaraVideo Player SDK V7.6.0 以降では、
Info.Plistメソッドを使用して Alibaba Cloud 国際サイト環境を設定できます。Info.plistファイルを開き、AlivcEnvの値をSEAに変更します。// 現在の環境を Alibaba Cloud 国際サイト環境として設定します。 <key>AlivcEnv</key> <string>SEA</string>次の図は設定例です:

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 の使用方法
統合中にコードまたは参照するサードパーティコードが AlivcFFmpeg とのシンボル競合を報告する場合
解決策:
AlivcFFmpeg とのシンボル競合が発生した場合は、冗長な AlivcFFmpeg を削除し、1 つだけを残してください。AlivcFFmpeg は ffmpeg のカスタマイズされた拡張機能であり、ApsaraVideo Player SDK にとって非常に重要です。サードパーティの AlivcFFmpeg を削除し、ApsaraVideo Player SDK for iOS のものを保持することを推奨します。ただし、これによりサードパーティのプレーヤーが正しく動作しなくなる可能性があることにご注意ください。
sandBox エラー
問題:

解決策:
UserSetting の User Script SandBoxing を NO に設定します。

短編動画 SDK の統合
ApsaraVideo Player SDK for iOS と短編動画 SDK の両方をプロジェクトに統合する場合は、All-in-One SDK for iOS を使用して統合することを推奨します。そうしない場合、クラスの重複問題が発生し、コンパイルが失敗する可能性があります。
プレーヤー使用時に発生する可能性のある問題とソリューションの詳細については、「ApsaraVideo Player に関するよくある質問」をご参照ください。