IVS iOS Broadcast SDK の開始方法 | Real-Time Streaming - Amazon IVS

IVS iOS Broadcast SDK の開始方法 | Real-Time Streaming

このドキュメントでは、IVS Real-Time Streaming iOS Broadcast SDK の使用を開始するためのステップについて説明します。

ライブラリのインストール

Swift Package Manager を介して Broadcast SDK を統合することをお勧めします。(または CocoaPods を介して統合するか、フレームワークを手動でプロジェクトに追加することができます)

推奨: Broadcast SDK の統合 (Swift Package Manager)

  1. Package.swift ファイルを「https://broadcast.live-video.net/1.38.0/Package.swift」からダウンロードしてください。

  2. プロジェクトで AmazonIVSBroadcast という名前の新しいディレクトリを作成し、バージョン管理に追加します。

  3. ダウンロードした Package.swift ファイルを新しいディレクトリに配置します。

  4. Xcode で [ファイル] > [パッケージの依存関係を追加] に移動し、[ローカルに追加] を選択します。

  5. 作成した AmazonIVSBroadcast ディレクトリに移動して選択たら、パッケージの追加を選択します。

  6. AmazonIVSBroadcast のパッケージ製品の選択を求められたら、「ターゲットに追加」セクションでアプリケーションターゲットを設定し、パッケージ製品として [AmazonIVSBroadcastStages] を選択します。

  7. パッケージの追加を選択します。

重要: IVS リアルタイムストリーミングの Broadcast SDK には、IVS 低レイテンシーストリーミング Broadcast SDK のすべての機能が含まれます。両方の SDK を同じプロジェクトに統合することはできません。

代替アプローチ: Broadcast SDK (CocoaPods) を統合する

重要: CocoaPods はメンテナンスモード (セキュリティ修正のみ) になっており、2026 年 12 月以降は CocoaPods リポジトリに新しいパッケージや更新プログラムを公開することはできません。既存のパッケージは引き続き利用できますが、凍結されます。すべての新しいプロジェクトには Swift Package Manager を使用することをお勧めします。

リアルタイム機能は iOS 低レイテンシーストリーミング Broadcast SDK のサブスペックとして公開されています。これは、お客様が機能のニーズに基づいて含めるか除外するかを選択できるようにするためです。含めるとパッケージサイズが大きくなります。

リリースは、CocoaPods から AmazonIVSBroadcast という名前で公開されます。この依存関係を自分の Podfile に追加します。

pod 'AmazonIVSBroadcast/Stages'

pod install を実行すると、SDK が .xcworkspace で利用できるようになります。

重要: IVS Real-Time Streaming Broadcast SDK (ステージサブスペック付き) には、IVS 低レイテンシーストリーミング Broadcast SDK のすべての機能が含まれています。両方の SDK を同じプロジェクトに統合することはできません。CocoaPods を介してステージサブスペックをプロジェクトに追加する場合は、AmazonIVSBroadcast を含む Podfile 内の他の行をすべて削除してください。たとえば、Podfile には次の行を両方含めないでください。

pod 'AmazonIVSBroadcast' pod 'AmazonIVSBroadcast/Stages'

代替方法: フレームワークを手動でインストールする

  1. 次のリンクから最新バージョンをダウンロードします。 https://broadcast.live-video.net/1.38.0/AmazonIVSBroadcast-Stages.xcframework.zip.

  2. アーカイブの内容を抽出します。AmazonIVSBroadcast.xcframework には、デバイスとシミュレータの両方の SDK が含まれています。

  3. アプリケーションターゲットの [全般] タブの、[Frameworks, Libraries, and Embedded Content (フレームワーク、ライブラリ、埋め込みコンテンツ)] のセクションに AmazonIVSBroadcast.xcframework をドラッグして埋め込みます。

    アプリケーションターゲットの [全般] タブの[Frameworks, Libraries, and Embedded Content (フレームワーク、ライブラリ、埋め込みコンテンツ)] セクション。

必要なアクセス許可

アプリはユーザーのカメラとマイクへのアクセス許可を要求する必要があります。(これは、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 の両方のメディアタイプに対してこれを行う必要があります。

また、NSCameraUsageDescriptionNSMicrophoneUsageDescription のエントリを 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 }