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 を手動で pull します。

  2. NSBonjourServicesInfo.plist に追加する

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

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

    appID はレシーバー ID で、GCKDiscoveryCriteria で定義したのと同じ ID です。

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

    <key>NSBonjourServices</key>
    <array>
      <string>_googlecast._tcp</string>
      <string>_ABCD1234._googlecast._tcp</string>
    </array>
  3. Info.plistNSLocalNetworkUsageDescription を追加する

    ローカル ネットワーク プロンプトに表示されるメッセージをカスタマイズすることを強くおすすめします。そのためには、アプリの 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

ターゲットの [機能] セクションで [Wi-Fi 情報にアクセス] スイッチが [オン] に設定されていることを確認します。

また、プロビジョニング プロファイルで [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, '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 プロジェクトにドラッグしないでください)。[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 ターゲットに対してビルドするとリンカー エラーが発生します。