このトピックでは、iOS 向けプッシュ SDK を統合する方法について説明します。
統合環境
|
項目 |
要件 |
|
OS バージョン |
iOS 9.0 以降。 |
|
機種 |
iPhone 7 以降。 |
|
CPU アーキテクチャ |
ARMv7 および ARM64。 |
|
統合ツール |
Xcode 8.0 以降。 |
|
ビットコード |
無効。 |
SDK パッケージのダウンロード
iOS 向けプッシュ SDK の各リリースは、2 つのバージョンでコンパイルされています。1 つは物理デバイスでのみデバッグをサポートする ARM バージョンで、もう 1 つは物理デバイスとシミュレーターの両方でデバッグをサポートする ARM およびシミュレーターバージョンです。本番環境では ARM バージョンを使用する必要があります。
「SDK のダウンロード」から、必要なバージョンの iOS 向けプッシュ SDK をダウンロードします。プッシュ SDK の Basic Edition は、解凍されたパッケージの AlivcLivePusher フォルダーにあります。
AlivcLivePusherSDK ディレクトリ内の arm フォルダーには、次のフレームワークが含まれています:
AlivcLibReplayKitExt.framework
AlivcLivePusher.framework
ファイルの内容は次のとおりです。
ファイル名 | 説明 |
AlivcLivePusherSDK/arm | プッシュ SDK Basic Edition の ARM バージョンです。 |
AlivcLivePusherSDK/arm&simulator | プッシュ SDK Basic Edition の ARM およびシミュレーターバージョンです。 |
プッシュ SDK の統合
プッシュ SDK を手動または Pod で統合した後、権限の設定とBitcode の無効化も行う必要があります。
プッシュ SDK を手動で統合する場合は、手動統合の手順に従ってください。Pod を使用してプッシュ SDK を統合する場合は、Pod による統合の手順に従ってください。
手動統合:
SDK テストプロジェクトを作成します: App > DemoPush。
次のファイルを Xcode プロジェクトにドラッグします:
AlivcLibReplayKitExt.framework
AlivcLivePusher.framework
レタッチやステッカーエフェクトを使用するには、次のファイルもドラッグします:
queen.framework
opencv2.framework
MNN.framework
AliyunQueenUIKit.framework
ApsaraVideo Player SDK のバージョンに依存する場合は、次のファイルもドラッグします:
RtsSDK.framework
AliyunPlayer.framework
artcSource.framework
alivcffmpeg.framework
Xcode プロジェクトで、[General] > [Frameworks, Libraries, and Embedded Content] に移動し、各依存フレームワークの埋め込み方法を次のように設定します:
[Embed & Sign]:alivcffmpeg.framework、AlivcLibReplayKitExt.framework、AlivcLibRtmp.framework、AlivcLivePusher.framework、AliyunPlayer.framework、artcSource.framework、opencv2.framework
[Embed Without Signing]:AlivcLiveBroadcast.appex
[Do Not Embed]:Accelerate.framework、CoreGraphics.framework、CoreImage.framework、CoreMedia.framework、CoreMotion.framework、CoreVideo.framework、Face3D.framework、FaceDetection.framework、Foundation.framework、Metal.framework、MNN.framework、OpenGLES.framework、pixelai.framework、QuartzCore.framework、queen.framework
[必要に応じて項目をコピー] を選択し、[完了] をクリックします。
SDK をインポートした後、[Xcode] > [General] > [Frameworks, Libraries, and Embedded Content] で SDK の依存関係を追加します。[Frameworks, Libraries, and Embedded Content] で、alivcffmpeg.framework、AlivcLibRtmp.framework、AlivcLivePusher.framework、AliyunPlayer.framework、artcSource.framework、RtsSDK.framework、opencv2.framework などのサードパーティフレームワークの埋め込み方法を [Embed & Sign] に設定します。システムフレームワーク (Accelerate、CoreGraphics、CoreMedia など) は [Do Not Embed] に設定したままにします。AlivcLiveBroadcast.appex は [Embed Without Signing] に設定します。
Pod による統合:
ターミナルウィンドウで、次のコマンドを入力して CocoaPods をインストールします。
重要CocoaPods をインストールする前に、Mac に Ruby 環境がインストールされていることを確認してください。
sudo gem install cocoapodsプロジェクトパスに移動し、ターミナルウィンドウで次のコマンドを入力して Podfile ファイルを作成します。
pod initPodfile ファイルを編集して、プッシュ SDK の依存関係を追加します。ライブ再生が必要な場合は、ApsaraVideo Player SDK の依存関係も追加できます。
# プッシュ SDK Basic Edition pod 'AlivcLivePusher', '~> x.y.z'説明x.y.zは Push SDK のバージョン番号です。`x.y.z` を「SDK のダウンロード」の最新バージョン番号 (例: 7.4.0) に置き換えます。Push SDK と Player SDK (AliyunPlayer) を同時に統合することはできません。両方の SDK を統合するには、ApsaraVideo MediaBox SDK を使用する必要があります。詳細については、「シナリオ」および「ApsaraVideo MediaBox SDK の統合」をご参照ください。
ターミナルウィンドウで次のコマンドを入力します。pod コマンドを実行すると、.xcworkspace 拡張子を持つプロジェクトファイルが生成されます。このファイルには、統合された SDK が含まれています。ファイルをダブルクリックして、SDK を更新およびインストールします。
pod installまたは
pod update
権限のリクエスト
説明カメラとマイクへのアクセス権限を追加する必要があります。
[Info.plist] ファイルで、カメラとマイク用に [プライバシー - カメラの利用目的] と [プライバシー - マイクの利用目的] の権限を追加します。アプリがバックグラウンドでストリームの取り込みを継続する必要がある場合は、バックグラウンドオーディオキャプチャモードを有効にします。これを行うには、Xcode プロジェクトの [機能] タブで [バックグラウンドモード] を [ON] に設定し、展開されたモードリストで [オーディオ、AirPlay、およびピクチャ・イン・ピクチャ] を選択します。
Bitcode の無効化
SDK は Bitcode をサポートしていません。プロジェクトで Bitcode オプションを無効にする必要があります。これを行うには、Xcode プロジェクトの [Build Settings] で
bitcodeを検索し、[Build Options] にある [Enable Bitcode] を [No] に設定します。ライセンスの設定
手順については、「ライセンスの統合」をご参照ください。
注意事項
API の詳細については、「Basic Edition API リファレンス (国際サイト)」をご参照ください。
API サンプルコードについては、「機能の使用方法」をご参照ください。
よくある質問
コンパイルエラー
「Building for iOS, but the linked and embedded framework XXX.framework' was built for iOS + iOS Simulator」というコンパイルエラーが発生した場合は、次の手順を実行します:
[Xcode] メニューをクリックします。
[ファイル] > [ワークスペース設定] を選択して設定ダイアログボックスを開きます。
[ビルドシステム] を [レガシービルドシステム] に変更します。
コンパイル時の Queen 依存ライブラリの欠落
手動統合中に Queen の依存ライブラリが欠落している場合は、「Queen_SDK_iOS」ドキュメントを参照して、必要なライブラリを追加してください。