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

Cast フレームワークは iOS 15 以降をサポートしており、静的フレームワークと動的フレームワークの両方があります。

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

Xcode の設定

iOS 14

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

    CocoaPods を使用している場合は、pod update を使用して 4.8.4 SDK をプロジェクトに追加します。

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

  2. Info.plistNSBonjourServices を追加する

    Info.plistNSBonjourServices を指定して、iOS 14 でローカル ネットワーク検出が成功するようにします。

    デバイス検出が正しく機能するには、_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

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

    <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.4 を使用してアプリを再リリースすることをおすすめします。

iOS 13

iOS 12

ターゲットの [Capabilities] セクションの [Access WiFi Information] スイッチが [On] に設定されていることを確認します。

また、プロビジョニング プロファイルで [Access WiFi Information] 機能がサポートされている必要があります。これは Apple Developer Portalで追加できます。

CocoaPods のセットアップ

Google Cast を組み込むには、 CocoaPods を使用することをおすすめします。組み込むには、 google-cast-sdk CocoaPods を使用します。

まず、 スタートガイドをご覧ください。

CocoaPods を設定したら、 CocoaPods の使用ガイド に沿って Podfile を作成し、Google Cast SDK で使用できるようにプロジェクトを準備します。

google-cast-sdk CocoaPod を Podfile に追加する例を次に示します。

use_frameworks!

platform :ios, '15.0'

def target_pods
  pod 'google-cast-sdk'
end

target 'CastVideos-objc' do
  target_pods
end
target 'CastVideos-swift' do
  target_pods
end

プロジェクトでは、podfile ガイドで説明されているように、予期しない 破壊的変更を防ぐために、Pod の範囲を指定する必要があります。

このスニペットでは、バージョン 4.8.4 と次のメジャー バージョン(major.minor.patch)までのバージョンが許可されています。

pod 'google-cast-sdk', '~> 4.8.4'

たとえば、「~> 1.6.7」には、1.6.7 から 2.0.0 までのすべてのバージョンが含まれますが、2.0.0 は含まれません。

手動セットアップ

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

ダウンロード

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

Cast iOS Sender SDK 4.8.4 ライブラリ:

静的 動的

設定の手順

ライブラリをインストールする手順は次のとおりです。

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

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

  1. 最小バージョン v3.13. の Protobuf ライブラリを設定します。
    1. プロジェクトで CocoaPods を使用している場合:
      1. Podfile を開き、 google-cast-sdk が存在する場合は削除します。
        pod 'google-cast-sdk'
      2. Protobuf ライブラリが存在しない場合は追加します。
        pod 'Protobuf', '3.13'
      3. プロジェクトのルートフォルダで pod install を実行します。
    2. プロジェクトで CocoaPods を使用していない場合:
      1. 現在のバージョンの GoogleCastSDK が存在する場合は削除します。
      2. Protobuf GitHub リポジトリの手順に沿って、Protobuf ライブラリ v3.13 以降を追加します。

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

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

Mac Catalyst のセットアップ

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