使用 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. 选择版本控制规则。例如,选择直至下一个主要版本,并将最低版本设为 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 项目中。选中“根据需要复制所有项”,并添加到所有目标。

CocoaPods 设置

手动设置

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

下载

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

Cast iOS Sender 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++ 添加到构建设置 > 其他链接器标志。
  2. 在解压缩的目录中找到“Resources”文件夹,然后将所有 .bundle 文件拖到项目中的 GoogleCast.xcframework 旁边(您之前添加的)。选中“Copy all items if needed”(需要时复制所有项目),并添加到所有目标。

Mac Catalyst 设置

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