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

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

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

Xcode 设置

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

    如果使用 Swift Package Manager,请将 google-cast-ios-sdk 软件包更新到 4.8.6 版。

    否则,请 手动拉取 SDK。

  2. 将 NSBonjourServices 添加到 Info.plist

    在 Info.plist 中指定 NSBonjourServices,以便成功发现本地网络。

    您需要同时添加 _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.6 重新发布应用。

Swift Package Manager 设置

建议使用 Swift Package Manager (SPM) 集成 Google Cast。Cast iOS SDK 软件包可从 google-cast-ios-sdk GitHub 代码库中获取。

如需在 Xcode 中将 Cast iOS SDK 添加到您的项目,请执行以下操作:

  1. 在 Xcode 中,依次选择 File(文件)> Add Packages…(添加软件包…)。
  2. 输入代码库网址:https://github.com/googlecast/google-cast-ios-sdk。
  3. 选择版本控制规则。例如,选择 Up to Next Major Version(直到下一个主要版本),并将最低版本设置为 4.8.6,以接收兼容的更新,而不会发生意外的破坏性更改。
  4. 点击添加套餐。
  5. 选择 GoogleCastDynamic 或 GoogleCastStatic 产品,并将其添加到您的应用目标。

选择框架变体

Cast iOS SDK 软件包提供两款产品:

  • GoogleCastDynamic:动态框架。它包含 Cast 界面组件所需的所有资源,不需要任何额外的链接器标志。支持 Mac Catalyst 的应用必须使用动态框架。如需了解详情,请参阅 Mac Catalyst 设置。
  • GoogleCastStatic:静态框架。它需要执行静态框架设置中所述的其他设置步骤。

静态框架设置

静态框架不能包含资源包。因此,Swift Package Manager 无法自动将 Cast 界面组件所需的资源(例如界面图片、故事板和本地化文件)与 GoogleCastStatic 产品捆绑在一起。如果您将 GoogleCastStatic 添加到目标,请完成以下步骤:

  1. 在 Xcode 项目中,将标志 -ObjC -lc++ 添加到 Build Settings(构建设置)> Other Linker Flags(其他链接器标志)。
  2. 如果您的应用使用 Cast 界面组件,请手动将资源包添加到项目中:
    1. 从下载页面下载静态库。确保静态库的版本与您添加的软件包的版本一致。
    2. 在解压缩的目录中找到 Resources 文件夹,然后将所有 .bundle 文件拖到 Xcode 项目中。选中“Copy all items if needed”(根据需要复制所有项),然后添加到所有目标。

CocoaPods 设置

手动设置

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

下载

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

Cast iOS 发送端 SDK 4.8.6 库:

静态 动态

设置步骤

如需安装该库,请运行以下命令:

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

如果您要设置动态库,请在执行上述步骤的基础上,再执行以下步骤:

  1. 移除当前版本的 GoogleCastSDK(如果存在)。
  2. 按照 Protobuf GitHub 代码库中的说明,添加 Protobuf 库 v3.13 或更高版本。

如果您要设置静态库,请在执行上述步骤的基础上,再执行以下步骤:

  1. 在 Xcode 项目中,将标志 -ObjC -lc++ 添加到 Build Settings > Other Linker Flags。
  2. 在解压缩的目录中找到 Resources 文件夹,然后将所有 .bundle 文件拖到项目中您之前添加的 GoogleCast.xcframework 旁边。选中“Copy all items if needed”(需要时复制所有项目),然后添加到所有目标。

Mac Catalyst 设置

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