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」を実際の appID に置き換えます。

    <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 プロジェクトで、[Build Settings] > [Other Linker Flags] にフラグ -ObjC -lc++ を追加します。
  2. アプリで Cast UI コンポーネントを使用している場合は、アセット バンドルをプロジェクトに手動で追加します。
    1. ダウンロードから静的ライブラリをダウンロードします。静的ライブラリのバージョンが、追加したパッケージのバージョンと一致していることを確認します。
    2. 解凍したディレクトリで Resources フォルダを見つけ、すべての .bundle ファイルを Xcode プロジェクトにドラッグします。[Copy all items if needed] をオンにして、すべてのターゲットに追加します。

CocoaPods の設定

手動設定

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

ダウンロード

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

Cast iOS 送信側 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 ターゲットに対してビルドするとリンカーエラーが発生します。