IVS iOS 广播 SDK 入门 | 实时直播功能
本文档将引导您完成 IVS 实时直播 iOS 广播 SDK 入门所涉及的步骤。
安装库
我们建议您通过 Swift 程序包管理器集成广播 SDK。(或者,您可以通过 CocoaPods 集成或手动将框架添加至项目。)
建议:集成广播 SDK(Swift 程序包管理器)
-
从 https://broadcast.live-video.net/1.38.0/Package.swift
下载 Package.swift 文件。 -
在您的项目中,创建一个名为 AmazonIVSBroadcast 的新目录并将其添加到版本控制中。
-
将下载的 Package.swift 文件放到新目录中。
-
在您的 Xcode 项目中,转到文件 > 添加软件包依赖项,然后选择添加本地...
-
导航到并选择您创建的 AmazonIVSBroadcast 目录,然后选择添加软件包。
-
当系统提示选择 AmazonIVSBroadcast 的软件包产品时,请通过在添加到目标部分中设置应用程序目标来将 AmazonIVSBroadcastStages 选为软件包产品。
-
选择添加软件包。
重要提示:IVS 实时流式传输广播 SDK 包含 IVS 低延迟流式传输广播 SDK 的所有功能。不可能将两个 SDK 集成到同一个项目中。
替代方法:集成广播 SDK(CocoaPods)
重要提示:CocoaPods 处于维护模式(仅提供安全修复),并且在 2026 年 12 月之后,不能将新的软件包或更新发布到 CocoaPods 存储库。现有软件包将保持可用,但被冻结。我们建议对所有新项目使用 Swift 程序包管理器。
实时功能作为 iOS 低延迟流式传输广播 SDK 的子规格发布。这样客户就可以根据自己的功能需求选择包含或排除该功能。包括该功能的程序包会更大。
版本通过 CocoaPods 以 AmazonIVSBroadcast 名称发布。将此依赖项添加至您的 Podfile 中:
pod 'AmazonIVSBroadcast/Stages'
运行 pod install,开发工具包将在 .xcworkspace 中可用。
重要提示:IVS 实时流式传输广播 SDK(即有舞台子规范)包含 IVS 低延迟流式传输广播 SDK 的所有功能。不可能将两个 SDK 集成到同一个项目中。如果您通过 CocoaPods 将舞台子规格添加到您的项目中,请务必删除 Podfile 中包含 AmazonIVSBroadcast 的其他行。例如,在 Podfile 中不要同时包含这两行:
pod 'AmazonIVSBroadcast' pod 'AmazonIVSBroadcast/Stages'
替代方法:手动安装框架
-
最新版本下载链接:https://broadcast.live-video.net/1.38.0/AmazonIVSBroadcast-Stages.xcframework.zip
。 -
提取归档的内容。
AmazonIVSBroadcast.xcframework包含适用于设备和模拟器的开发工具包。 -
通过以下方法嵌入
AmazonIVSBroadcast.xcframework:将其拖动到应用程序目标的 General(常规)选项卡中的 Frameworks, Libraries, and Embedded Content(框架、库和嵌入式内容)部分中。
请求权限
您的应用必须请求权限才能访问用户摄像头和麦克风。(这并非特定于 Amazon IVS;需要访问摄像头和麦克风的任何应用程序都需要这样做。)
我们在此处检查用户是否已授予权限,如果没有,对他们提出要求:
switch AVCaptureDevice.authorizationStatus(for: .video) { case .authorized: // permission already granted. case .notDetermined: AVCaptureDevice.requestAccess(for: .video) { granted in // permission granted based on granted bool. } case .denied, .restricted: // permission denied. @unknown default: // permissions unknown. }
如果您希望分别访问摄像头和麦克风,则需要对 .video 和 .audio 媒体类型进行此操作。
您还需要将 NSCameraUsageDescription 和 NSMicrophoneUsageDescription 的条目添加到 Info.plist。否则,尝试请求权限时,您的应用程序将崩溃。
禁用应用程序空闲计时器
您可以自由选择,但我们建议您这样做。它可以防止您的设备在使用广播开发工具包时进入睡眠状态,这会中断广播。
override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) UIApplication.shared.isIdleTimerDisabled = true } override func viewDidDisappear(_ animated: Bool) { super.viewDidDisappear(animated) UIApplication.shared.isIdleTimerDisabled = false }