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

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

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

Xcode のセットアップ

iOS 14

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

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

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

  2. NSBonjourServicesInfo.plist に追加する

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

    デバイス検出が正しく機能するには、_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. NSLocalNetworkUsageDescriptionInfo.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.3 を使用してアプリを再リリースすることをおすすめします。

iOS 13

iOS 12

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

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

CocoaPods のセットアップ

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

使用を開始するには、スタートガイドに沿って操作してください。

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

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

use_frameworks!

platform :ios, '14.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.3 と次のメジャー バージョン(major.minor.patch)までのバージョンが許可されています。

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

たとえば、「~> 1.6.7」は、1.6.7 から 2.0.0 より前までのすべてのバージョンを含みます。

手動セットアップ

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

ダウンロード

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

Cast iOS Sender SDK 4.8.3 ライブラリ:

静的 動的

設定の手順

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

  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 以降を追加します。
  2. Xcode プロジェクトで、[Build Settings] > [Other Linker Flags] に -ObjC -lc++ フラグを追加します。
  3. 展開したディレクトリで Resources フォルダを見つけ、GoogleCastCoreResources.bundleGoogleCastUIResources.bundleMaterialDialogs.bundle を、以前に追加した GoogleCast.xcframework の横にあるプロジェクトにドラッグします。[Copy all items if needed] をオンにして、すべてのターゲットに追加します。

Mac Catalyst の設定

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