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

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. 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.4 重新发布您的应用。 尽快。

iOS 13

iOS 12

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

此外,您的预配配置文件还需要支持访问 Wi-Fi 信息 功能。您可以在 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, '15.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.4 版以及下一个主要版本(major.minor.patch)之前的版本:

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

例如,“~> 1.6.7”将包含 1.6.7 及更高版本的所有版本,但不包括 2.0.0 版。

手动设置

以下说明介绍了如何在不使用 CocoaPods 的情况下将 Cast iOS SDK 添加到您的项目:

下载内容

下载以下相应库后,请按照 设置步骤将框架添加到您的 项目。

Cast iOS Sender SDK 4.8.4 库:

静态 动态

设置步骤

如需安装库,请执行以下操作:

  1. 下载并解压缩适合您项目的 SDK。
  2. 设置动态 GoogleCastSDK 库:
  3. 将解压缩的 .xcframework 拖到 Xcode 项目导航器中的主项目(如果您有 Pods 项目,则不要拖到其中)。 选中“Copy all items if needed”,并添加到所有目标。
  4. 在 Xcode 目标中,在 General 标签页下,为 GoogleCast.xcframework 选择 Embed and Sign

如果您要设置动态 库,请在完成上述步骤后,再执行以下步骤:

  1. 设置 Protobuf 库,最低版本为 v3.13。
    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++ 添加到 构建设置 > 其他链接器标志
  2. 在解压缩的目录中找到 Resources 文件夹,然后将所有 .bundle 文件拖到项目中的 GoogleCast.xcframework 旁边(您之前添加的)。选中“Copy all items if needed”,并添加到所有目标。

Mac Catalyst 设置

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