Cast 框架支持 iOS 12 及更高版本,并且提供静态和动态框架。
有关所有类和方法的说明,请参阅 Google Cast iOS API 参考文档。
请注意,新一代投放设备支持适用于 iOS 的访客模式,但老一代投放设备不支持。如需了解详情,请参阅访客模式 - 支持的投放设备。
Xcode 设置
iOS 14
-
将 Cast iOS SDK 4.7.0 添加到您的项目中
如果使用 CocoaPods,请使用
pod update
将 4.7.0 SDK 添加到您的项目中。否则,请手动提取 SDK。
-
将
NSBonjourServices
添加到Info.plist
中在
Info.plist
中指定NSBonjourServices
以允许本地网络发现功能在 iOS 14 上成功运行。您需要将
_googlecast._tcp
和_<your-app-id>._googlecast._tcp
都添加为服务,才能让设备发现功能正常运行。appID 是您的接收器 ID,与
GCKDiscoveryCriteria
中定义的 ID 相同。更新以下示例
NSBonjourServices
定义,并将“ABCD1234”替换为您的 appID。 -
Add
NSLocalNetworkUsageDescription
to yourInfo.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 theNSLocalNetworkUsageDescription
such as to describe Cast discovery and other discovery services, like DIAL.This message will appear as part of the iOS Local Network Access dialog as shown in the mock.
-
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
对于项目,您应该为 pod 指定一个范围,以防 podfile 指南中详细介绍的意外重大更改。
在此代码段中,允许使用版本 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 的设置要求与旧版 Universal 框架相同。
已针对应用不需要该功能或您不希望获得 iOS 13 中引入的 Bluetooth® 蓝牙权限等情况,提供了没有访客模式的库。如需了解详情,请参阅 iOS 13 变更文档。
通用框架
投放 iOS 发送者 SDK 4.7.0 库:
XCFramework(Beta 版)
从 4.7.1 版本开始,Cast iOS SDK 支持 XCFrameworks,从而允许在 Apple M1 计算机上进行开发并使用 M1 iOS 模拟器进行调试。
这些库目前处于 Beta 版阶段。如有任何问题,请向 Cast SDK 问题跟踪器报告。
投放 iOS 发送者 SDK XCFramework 4.7.1 库:
使用访客模式的静态 XCFramework 不使用访客模式的静态 XCFramework
使用访客模式的动态 XCFramework 不使用访客模式的动态 XCFramework
设置步骤
如需安装其中一个静态库,请执行以下操作:
- 下载并解压缩项目的相应静态 SDK。
- 使用最低版本 v3.13 设置 Protobuf 库。
- 如果您的项目使用 CocoaPods,请执行以下操作:
-
打开
Podfile
并移除google-cast-sdk
(如果存在):pod 'google-cast-sdk'
-
添加
Protobuf
库(如果不存在):pod 'Protobuf', '3.13'
-
在项目的根文件夹中运行
pod install
。 - 如果您的项目未使用 CocoaPods,请执行以下操作:
-
移除当前版本的
GoogleCastSDK
(如果存在)。 - 按照 Protobuf GitHub 代码库上的说明,添加 Protobuf 库 v3.13 或更高版本。
-
将解压缩的
.framework
或.xcframework
拖动到 Xcode 项目导航器中的主项目中(如果没有 Pod,则拖动到 Pod 项目中)。选中“复制所有项目(如果需要)”,然后添加到所有目标。 -
在 Xcode 项目中,将标志
-ObjC -lc++
添加到 Build Settings > Other Linker Flags。 -
右键点击项目中的
GoogleCast.framework
或GoogleCast.xcframework
,然后选择“Show In Finder”。 -
将
GoogleCastCoreResources.bundle
和GoogleCastUIResources.bundle
拖动到您的项目中之前添加的GoogleCast.framework
或GoogleCast.xcframework
旁边,然后选中“Copy all items if needed”,并将其添加到所有目标中。
如需安装其中一个动态库,请执行以下操作:
- 下载并解压缩项目的相应动态 SDK。
- 设置动态 GoogleCastSDK 库:
- 如果您的项目使用 CocoaPods,请执行以下操作:
-
打开您的
Podfile
,然后移除:pod 'google-cast-sdk'
-
在项目的根文件夹中运行
pod install
。 - 如果您的项目未使用 CocoaPods,请移除当前的 Google Cast 库。
-
将解压缩的
.framework
或.xcframework
拖动到 Xcode 项目导航器中的主项目中(如果没有 Pod,则拖动到 Pod 项目中)。选中“复制所有项目(如果需要)”,然后添加到所有目标。 -
在 Xcode 目标的
General
标签页下,为GoogleCast.framework
或GoogleCast.xcframework
选择Embed and Sign
。
Mac Catalyst 设置
对于支持 Mac Catalyst 的应用,请使用 Cast SDK 的动态库。 按照手动设置流程将框架添加到您的项目中。然后,有条件地将 Cast SDK 从 Mac 目标中排除,如 Apple 文档中所述。静态库是针对 iOS 架构预先编译的,在针对 Mac 目标进行构建时会导致链接器错误。
将应用发布到 App Store
在将您的应用发布到 App Store 之前,您需要运行 shell 脚本 strip_unused_archs.sh
来从 app bundle 中移除未使用的架构。此脚本位于 Cast SDK for iOS 中。