iOS 用 Cast Application Framework(CAF)を使用した開発のセットアップ

Cast フレームワークは iOS 16 以降をサポートしており、静的フレームワークと動的フレームワークの両方で提供されています。

すべてのクラスとメソッドの説明については、Google Cast iOS API リファレンスをご覧ください。

Xcode のセットアップ

  1. Cast iOS SDK 4.8.6 をプロジェクトに追加する

    Swift Package Manager を使用している場合は、google-cast-ios-sdk パッケージをバージョン 4.8.6 に更新します。

    それ以外の場合は、 SDK を手動でプルします。

  2. NSBonjourServices を Info.plist に追加する

    Info.plist で NSBonjourServices を指定して、ローカル ネットワーク検出を成功させます。

    デバイス検出が正しく機能するには、_googlecast._tcp と _<your-app-id>._googlecast._tcp の両方をサービスとして追加する必要があります。

    appID は receiverID で、GCKDiscoveryCriteria で定義されている ID と同じです。

    次の例の NSBonjourServices 定義を更新し、「ABCD1234」をアプリ ID に置き換えます。

    <key>NSBonjourServices</key>
    <array>
      <string>_googlecast._tcp</string>
      <string>_ABCD1234._googlecast._tcp</string>
    </array>
  3. NSLocalNetworkUsageDescription を Info.plist に追加します。

    アプリの Info.plist ファイルに NSLocalNetworkUsageDescription のアプリ固有の権限文字列を追加して、ローカル ネットワーク プロンプトに表示されるメッセージをカスタマイズすることを強く推奨します。たとえば、Cast 検出や DIAL などの他の検出サービスについて説明します。

    <key>NSLocalNetworkUsageDescription</key>
    <string>${PRODUCT_NAME} uses the local network to discover Cast-enabled devices on your WiFi
    network.</string>

    このメッセージは、モックアップに示すように、iOS のローカル ネットワーク アクセス ダイアログの一部として表示されます。

    キャストのローカル ネットワーク アクセス権限のダイアログの画像
  4. Apple App Store にアプリを再リリースする

    また、できるだけ早く 4.8.6 を使用してアプリを再リリースすることをおすすめします。

Swift Package Manager の設定

Google Cast を統合するおすすめの方法は、Swift Package Manager(SPM)を使用することです。Cast iOS SDK パッケージは、google-cast-ios-sdk GitHub リポジトリから入手できます。

Xcode で Cast iOS SDK をプロジェクトに追加するには:

  1. Xcode で、[File] > [Add Packages...] を選択します。
  2. リポジトリ URL(https://github.com/googlecast/google-cast-ios-sdk)を入力します。
  3. バージョニング ルールを選択します。たとえば、最小バージョン 4.8.6 で [Up to Next Major Version] を選択すると、互換性のある更新を予期しない破壊的変更なしで受け取ることができます。
  4. [パッケージを追加] をクリックします。
  5. GoogleCastDynamic または GoogleCastStatic のいずれかのプロダクトを選択し、アプリ ターゲットに追加します。

フレームワーク バリアントを選択する

Cast iOS SDK パッケージには、次の 2 つのプロダクトが含まれています。

  • GoogleCastDynamic: 動的フレームワーク。これには、Cast UI コンポーネントに必要なアセット リソースがすべて含まれており、追加のリンカーフラグは必要ありません。Mac Catalyst をサポートするアプリは、動的フレームワークを使用する必要があります。詳しくは、Mac Catalyst のセットアップをご覧ください。
  • GoogleCastStatic: 静的フレームワーク。静的フレームワークの設定で説明されている追加の設定手順が必要です。

静的フレームワークの設定

静的フレームワークにリソース バンドルを含めることはできません。そのため、Swift Package Manager は、Cast UI コンポーネントに必要なアセット リソース(UI 画像、ストーリーボード、ローカライズ ファイルなど)を GoogleCastStatic プロダクトに自動的にバンドルできません。ターゲットに GoogleCastStatic を追加する場合は、次の手順を行います。

  1. Xcode プロジェクトで、ビルド設定 > その他のリンカーフラグに -ObjC -lc++ フラグを追加します。
  2. アプリで Cast UI コンポーネントを使用している場合は、アセット バンドルをプロジェクトに手動で追加します。
    1. ダウンロードから静的ライブラリをダウンロードします。静的ライブラリのバージョンが、追加したパッケージのバージョンと一致していることを確認します。
    2. 解凍したディレクトリで Resources フォルダを見つけ、すべての .bundle ファイルを Xcode プロジェクトにドラッグします。[必要に応じてすべてのアイテムをコピー] をオンにして、すべてのターゲットに追加します。

CocoaPods の設定

手動設定

Swift Package Manager を使用せずに Cast iOS SDK をプロジェクトに追加する手順は次のとおりです。

ダウンロード

以下の適切なライブラリをダウンロードしたら、セットアップ手順に沿ってフレームワークをプロジェクトに追加します。

Cast iOS Sender SDK 4.8.6 ライブラリ:

静的 動的

設定の手順

ライブラリをインストールするには:

  1. プロジェクトに適した SDK をダウンロードして展開します。
  2. 動的 GoogleCastSDK ライブラリを設定します。
  3. 解凍した .xcframework を Xcode プロジェクト ナビゲータのメイン プロジェクトにドラッグします。[Copy all items if needed] をオンにして、すべてのターゲットに追加します。
  4. Xcode ターゲットの [General] タブで、GoogleCast.xcframework の Embed and Sign を選択します。

動的ライブラリを設定する場合は、前の手順に加えて次の手順を行います。

  1. 現在のバージョンの GoogleCastSDK が存在する場合は削除します。
  2. Protobuf GitHub リポジトリの手順に沿って、Protobuf ライブラリ v3.13 以降を追加します。

静的ライブラリを設定する場合は、前の手順に加えて次の手順を行います。

  1. Xcode プロジェクトで、[Build Settings] > [Other Linker Flags] に -ObjC -lc++ フラグを追加します。
  2. 解凍したディレクトリで Resources フォルダを見つけ、すべての .bundle ファイルをプロジェクトの、先ほど追加した GoogleCast.xcframework の横にドラッグします。[Copy all items if needed] をオンにして、すべてのターゲットに追加します。

Mac Catalyst のセットアップ

Mac Catalyst をサポートするアプリの場合は、Cast SDK のダイナミック ライブラリを使用します。手動設定プロセスに沿って、フレームワークをプロジェクトに追加します。次に、Apple のドキュメントに記載されているように、Mac ターゲットから Cast SDK を条件付きで除外します。静的ライブラリは iOS アーキテクチャ用に事前コンパイルされているため、Mac ターゲットに対してビルドするとリンカーエラーが発生します。