使用 Cast 应用框架 (CAF) 开发 iOS 版应用的设置

Cast 框架支持 iOS 14 及更高版本,并提供静态和动态框架。

如需查看所有类和方法的说明,请参阅 Google Cast iOS API 参考文档

<x0A>

Xcode 设置

iOS 14

  1. 将 Cast iOS SDK 4.8.3 添加到您的项目

    如果使用 CocoaPods,请使用 pod update 将 4.8.3 版 SDK 添加到您的项目中。

    否则,请 手动拉取 SDK

  2. NSBonjourServices 添加到 Info.plist

    Info.plist 中指定 NSBonjourServices,以允许在 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

    我们强烈建议您通过在应用的 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

确保目标设备功能部分中的访问 WLAN 信息开关设置为“开启”。

此外,您的配置配置文件还需要支持访问 WLAN 信息功能。您可以在 Apple Developer 门户中添加此信息。

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

对于您的项目,您应指定 Pod 的范围,以防止出现意外的重大更改,详情请参阅 Podfile 指南

在此代码段中,允许使用版本 4.8.3 以及下一个主要版本(主要版本.次要版本.补丁)之前的所有版本:

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

例如,“~> 1.6.7”将包含从 1.6.7 到 2.0.0(但不包括 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.xcframework 选择 Embed 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 项目中,将标志 -ObjC -lc++ 添加到 Build Settings > Other Linker Flags
  3. 在解压缩的目录中找到“资源”文件夹,然后将 GoogleCastCoreResources.bundleGoogleCastUIResources.bundleMaterialDialogs.bundle 拖动到您之前添加的 GoogleCast.xcframework 旁边的项目中。选中“Copy all items if needed”(根据需要复制所有项),并添加到所有目标。

Mac Catalyst 设置

对于支持 Mac Catalyst 的应用,请使用 Cast SDK 的动态库。 按照手动设置流程将框架添加到您的项目。然后,根据 Apple 文档中的说明,有条件地从 Mac 目标平台中排除 Cast SDK。 静态库是针对 iOS 架构预编译的,因此在针对 Mac 目标平台进行构建时会导致链接器错误。