IVS iOS Broadcast SDK の開始方法 | Real-Time Streaming
このドキュメントでは、IVS Real-Time Streaming iOS Broadcast SDK の使用を開始するためのステップについて説明します。
ライブラリのインストール
Swift Package Manager を介して Broadcast SDK を統合することをお勧めします。(代わりに、フレームワークを手動でプロジェクトに追加することも可能です)。
推奨: Broadcast SDK の統合 (Swift Package Manager)
-
Package.swift ファイルを「https://broadcast.live-video.net/1.40.0/Package.swift
」からダウンロードしてください。 -
プロジェクトで AmazonIVSBroadcast という名前の新しいディレクトリを作成し、バージョン管理に追加します。
-
ダウンロードした Package.swift ファイルを新しいディレクトリに配置します。
-
Xcode で [ファイル] > [パッケージの依存関係を追加] に移動し、[ローカルに追加] を選択します。
-
作成した AmazonIVSBroadcast ディレクトリに移動して選択たら、パッケージの追加を選択します。
-
AmazonIVSBroadcast のパッケージ製品の選択を求められたら、「ターゲットに追加」セクションでアプリケーションターゲットを設定し、パッケージ製品として [AmazonIVSBroadcastStages] を選択します。
-
パッケージの追加を選択します。
重要: IVS リアルタイムストリーミングの Broadcast SDK には、IVS 低レイテンシーストリーミング Broadcast SDK のすべての機能が含まれます。両方の SDK を同じプロジェクトに統合することはできません。
代替方法: フレームワークを手動でインストールする
-
次のリンクから最新バージョンをダウンロードします。 https://broadcast.live-video.net/1.40.0/AmazonIVSBroadcast-Stages.xcframework.zip
. -
アーカイブの内容を抽出します。
AmazonIVSBroadcast.xcframeworkには、デバイスとシミュレータの両方の SDK が含まれています。 -
アプリケーションターゲットの [全般] タブの、[Frameworks, Libraries, and Embedded Content (フレームワーク、ライブラリ、埋め込みコンテンツ)] のセクションに
AmazonIVSBroadcast.xcframeworkをドラッグして埋め込みます。
必要なアクセス許可
アプリはユーザーのカメラとマイクへのアクセス許可を要求する必要があります。(これは、Amazon IVS に特有なものではなく、カメラやマイクにアクセスする必要があるアプリケーションには必須です。)
ここでは、ユーザーがすでにアクセス許可を付与しているかどうかを確認し、付与していない場合は、許可を求めます。
switch AVCaptureDevice.authorizationStatus(for: .video) { case .authorized: // permission already granted. case .notDetermined: AVCaptureDevice.requestAccess(for: .video) { granted in // permission granted based on granted bool. } case .denied, .restricted: // permission denied. @unknown default: // permissions unknown. }
カメラやマイクにアクセスするには、.video と .audio の両方のメディアタイプに対してこれを行う必要があります。
また、NSCameraUsageDescription と NSMicrophoneUsageDescription のエントリを Info.plist に追加する必要があります。これを行わずにアクセス許可をリクエストすると、アプリがクラッシュします。
アプリケーションアイドルタイマーの無効化
これはオプションですが推奨されます。Broadcast SDK の使用中にデバイスがスリープ状態になり、ブロードキャストが中断されるのを防ぎます。
override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) UIApplication.shared.isIdleTimerDisabled = true } override func viewDidDisappear(_ animated: Bool) { super.viewDidDisappear(animated) UIApplication.shared.isIdleTimerDisabled = false }