クイックスタート

この章では、 Sora iOS SDK を使ってシンプルな iOS アプリケーションを実行するまでの流れを紹介します。 この iOS アプリケーションを通じて、次の Sora iOS SDK の使い方を学べます。

  • メディアデータ (映像と音声) の送信と受信

  • 送受信する映像の描画

  • 端末のデバイス (カメラとマイク) の使用

ソースコードは sora-ios-sdk-quickstart リポジトリで配布しています。

用意するもの

バージョンなどの詳細な条件は システム条件 を参照してください。

  • iOS 端末 (Sora iOS SDK はシミュレーターに対応していません)

  • Mac OS X と Xcode

  • CocoaPods (Swift Package Manager を利用する場合は不要)

  • Sora

Sora については、ここでは次の条件での運用を仮定します。 これは Sora のチュートリアル が完了した時と同様の条件です。 詳しくは Sora のドキュメントを参照してください。

  • Sora のホスト名: "sora.example.com"

  • デモ機能: 有効

  • HTTPS を使用

  • WebSocket の接続に wss を使用

  • メディアチャネル ID: "sora"

サンプルアプリケーションをビルドする

コードを書く前に、サンプルアプリケーション SoraQuickStart をビルドして実行してみましょう。

ソースコードをダウンロードする

サンプルアプリケーションのソースコードは sora-ios-sdk-quickstart リポジトリで配布しています。 master ブランチをクローンもしくはダウンロードしてください。デフォルトのブランチは develop となっていますのでご注意ください。

ライブラリを追加する

ビルドに必要なライブラリを追加します。CocoaPods または Swift Package Manager を利用してアプリケーションに追加できます。

CocoaPods を利用する

セットアップの CocoaPods を利用する を参照して、追加を行います。 Sora iOS SDK の Spec リポジトリをローカルの環境に登録してください。 Podfile はソースコードに含まれています。pod install コマンドを実行してダウンロードします。 ダウンロード後に SoraQuickStart.xcworkspace が生成されるので、以降はこのファイルを開いてプロジェクトの開発を行います。

Swift Package Manager を利用する

セットアップの Swift Package Manager を利用する を参照して、追加を行います。

接続情報を設定する

接続する Sora のシグナリング URL とチャネル ID は Environment.swift に設定します。 SoraQuickStart ディレクトリ配下の Environment.example.swift を元に Environment.swift を作成してください。

$ cp SoraQuickStart/Environment.example.swift SoraQuickStart/Environment.swift

SoraQuickStart の Xcode プロジェクトを開き、接続する Sora のシグナリング URL とチャネル ID を設定します。

Environment.swift:

// 接続する Sora のシグナリング URL
static let url = URL(string: "wss://sora.example.com/signaling")!

// チャネル ID
static let channelId = "sora"

ビルドして実行する

iOS 端末をマシンに接続します (Sora iOS SDK はシミュレーターに対応していません。実機を利用してください) 。ビルドターゲットのアーキテクチャに接続した iOS 端末を選択してビルド・実行します (メニュー "Product" > "Run") 。

ビルド対象アーキテクチャの選択:

_images/build_arch.png

Sora に接続する

アプリケーションが起動したら、 Connect ボタンをタップすると Sora に接続します。 接続に成功するとカメラとマイクの使用許可を求めるダイアログが表示されます。 許可後、上下のビューにカメラの映像が表示されれば接続成功です。

接続できなかった場合は Sora の URL やネットワークの状態を確認してください。 Sora に接続できない も参照してください。

実装上の注意点

再接続について

Sora と Sora iOS SDK は再接続をサポートしていません。 意図しない接続解除が発生した場合、 Sora iOS SDK が自動的に再接続を行うことはありません。 再度同一のチャネルに接続する必要があれば、新たに接続処理を行うように実装してください。

カメラのマイクの初期化

カメラとマイクはパブリッシャーの接続時に初期化されます。 Sora iOS SDK では、カメラの映像は CameraVideoCapturer が扱います。 (Info.plist にプライバシーの設定を記述しないとアプリケーションが落ちますので注意してください )。

映像データの送信の仕組み

CameraVideoCapturer が取得したカメラの映像は、配信ストリームを通じて Sora に送信されます。

サンプルアプリケーションのポイント

サンプルアプリケーションにて実装されている Sora iOS SDK 開発のポイントを以下に記載します。

  • Sora の接続には「 Sora のシグナリング URL 」と「チャネル ID 」が必要です。接続に関する設定を Configuration にセットします。

  • Sora の接続は Sora オブジェクトの connect(configuration:webRTCConfiguration:handler:) を呼びます。

  • 映像の描画は VideoView オブジェクトが行います。 VideoView はストリームの videoRenderer プロパティにセットします。

  • 端末のカメラとマイクはパブリッシャーの接続時に初期化されて使用可能になります。

その他のサンプルコード

下記のリポジトリでその他の様々なサンプルコードを公開しています。

https://github.com/shiguredo/sora-ios-sdk-samples

© Copyright 2018-2024, Shiguredo Inc. Created using Sphinx 8.1.3