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

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

キャスト フレームワークは iOS 12 以降をサポートし、静的フレームワークと動的フレームワークの両方が用意されています。

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

新しい世代のキャスト デバイスは iOS のゲストモードをサポートしていますが、古い世代のデバイスはサポートしていません。詳しくは、ゲストモード - サポートされているキャスト デバイスをご覧ください。

Xcode の設定

iOS 14

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

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

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

  2. NSBonjourServicesInfo.plist に追加する

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

    デバイス検出を正常に動作させるには、_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. Add NSLocalNetworkUsageDescription to your Info.plist

    We strongly recommend that you customize the message shown in the Local Network prompt by adding an app-specific permission string in your app's Info.plist file for the NSLocalNetworkUsageDescription such as to describe Cast discovery and other discovery services, like DIAL.

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

    This message will appear as part of the iOS Local Network Access dialog as shown in the mock.

    Cast Local Network Access permissions dialog image
  4. Re-release your app to the Apple App Store

    We recommend you also re-release your app using 4.7.0 as soon as possible.

iOS 13

iOS 12

Ensure that the Access WiFi Information switch in the Capabilities section of the target is set to "On".

Additionally, your provisioning profile will need to support the Access WiFi Information capability. This can be added in the Apple Developer Portal.

CocoaPods setup

The recommended way of integrating Google Cast is using CocoaPods.

The google-cast-sdk and google-cast-sdk-no-bluetooth CocoaPods are available for download.

Use the google-cast-sdk-no-bluetooth if your app does not require guest mode or you do not wish to require Bluetooth® permission.

To get started, follow the getting started guide.

Once CocoaPods is set up, follow the using CocoaPods guide to get your Podfile created and your project ready to use with the Google Cast SDK.

Here's an example of how to add the google-cast-sdk CocoaPod to your Podfile:

use_frameworks!

platform :ios, '12.0'

def target_pods
  pod 'google-cast-sdk'
end

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

google-cast-sdk-no-bluetooth CocoaPod を Podfile に追加する方法の例を以下に示します。

use_frameworks!

platform :ios, '12.0'

def target_pods
  pod 'google-cast-sdk-no-bluetooth'
end

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

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

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

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

たとえば、'~> 1.6.7' は 1.6.7 以降のすべてのバージョンを含みますが、バージョン 2.0.0 は含みません。

手動設定

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

ダウンロード

以下の適切なライブラリをダウンロードしたら、設定手順に沿ってフレームワークをプロジェクトに追加します。XCFrameworks の設定要件は、レガシー ユニバーサル フレームワークと同じです。

ゲストモードのないライブラリは、アプリでこの機能を必要としない、または iOS 13 で導入された Bluetooth® の権限を必要としない状況向けに提供されています。詳しくは、iOS 13 の変更点に関するドキュメントをご覧ください。

ユニバーサル フレームワーク

Cast Sender SDK 4.7.0 ライブラリのキャスト:

ゲストモードありの静的 ゲストモードなしの静的

ゲストモードで動的 ゲストモードなしで動的

XCFramework(ベータ版)

バージョン 4.7.1 以降の Cast iOS SDK では XCFrameworks がサポートされており、Apple M1 コンピュータでの開発と M1 iOS Simulator を使用したデバッグが可能です。

これらのライブラリは現在ベータ版です。問題が発生した場合は、Cast SDK Issue Tracker にご報告ください。

Cast Sender SDK XCFramework 4.7.1 ライブラリ:

ゲストモードを使用した静的 XCFramework ゲストモードを使用しない静的 XCFramework

動的 XCFramework(ゲストモード) 動的 XCFramework(ゲストモードなし)

設定の手順

静的ライブラリのいずれかをインストールするには:

  1. プロジェクトに適切な静的 SDK をダウンロードして解凍します。
  2. 最小バージョン 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 以降を追加します。
  3. 解凍した .framework または .xcframework を、Xcode プロジェクト ナビゲータのメイン プロジェクト(Pod プロジェクトがある場合はそれではなく)にドラッグします。[すべてコピー(必要に応じて)] をオンにして、すべてのターゲットに追加します。
  4. Xcode プロジェクトで、フラグ -ObjC -lc++ を [Build Settings] > [Other Linker Flags] に追加します。
  5. プロジェクトで GoogleCast.framework または GoogleCast.xcframework を右クリックし、[' Finder で表示'] を選択します。
  6. GoogleCastCoreResources.bundleGoogleCastUIResources.bundle を、前に追加した GoogleCast.framework または GoogleCast.xcframework の横にあるプロジェクトにドラッグし、[必要に応じてすべてのアイテムをコピー] をオンにして、すべてのターゲットに追加します。

いずれかの動的ライブラリをインストールするには:

  1. プロジェクトに適切な動的 SDK をダウンロードして解凍します。
  2. 動的 GoogleCastSDK ライブラリをセットアップします。
    1. プロジェクトで CocoaPods を使用する場合:
      1. Podfile を開き、
        pod 'google-cast-sdk'
        を削除します。
      2. プロジェクトのルートフォルダで pod install を実行します。
    2. プロジェクトで CocoaPods を使用していない場合は、現在の Google Cast ライブラリを削除してください。
  3. 解凍した .framework または .xcframework を、Xcode プロジェクト ナビゲータのメイン プロジェクト(Pod プロジェクトがある場合はそれではなく)にドラッグします。[すべてコピー(必要に応じて)] をオンにして、すべてのターゲットに追加します。
  4. Xcode ターゲットの [General] タブで、[GoogleCast.framework] または [GoogleCast.xcframework] に [Embed and Sign] を選択します。

Mac Catalyst の設定

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

App Store へのアプリの公開

App Store にアプリを公開する前に、シェル スクリプト strip_unused_archs.sh を実行して、App Bundle から未使用のアーキテクチャを削除する必要があります。このスクリプトは iOS 用の Cast SDK に含まれています。