本章节介绍 iOS 推/拉流 SDK 的支持系统、开发环境和集成方式。根据如下步骤进行操作,即可完成 iOS 推/拉流 SDK 集成工作。
说明
本文内容适用于 1.40.2 及以上版本。如果您已经集成了旧版本的 SDK,可以参考 iOS 动态库升级指南 进行动态库版本升级,或由静态库切换到动态库。
已获取 License 文件。
您可以通过以下方式集成直播 SDK。
本文介绍在线集成的具体步骤。
return (<Tabs> <Tabs.TabPane title="使用 CocoaPods 集成 SDK" key="lVm9MPmQRj"><RenderMd content={`<span id="84aa0522"></span> ### 方法一:动态库集成(推荐) 使用 CocoaPods,在工程的 **Podfile** 文件中添加依赖,并执行 **pod install**,自动下载更新推/拉流 SDK。 <span id="9f6a5016"></span> #### Step 1:安装 CocoaPods 在 Mac 中安装 Ruby 环境,在终端窗口中输入安装 CocoaPods 命令。 \`\`\`Ruby sudo gem install cocoapods \`\`\` <span id="5c61ec39"></span> #### Step 2:创建 Podfile 文件 在您的工程目录中执行如下命令,创建 Podfile 文件。 \`\`\`Ruby pod init \`\`\` <span id="582c5704"></span> #### Step 3:添加依赖 **推流 SDK** 在您的 `Podfile` 文件中添加依赖。 \`\`\`Ruby source 'https://github.com/volcengine/volcengine-specs.git' pod 'TTSDKFramework', 'x.x.x.x-premium', :subspecs => ['LivePush'] \`\`\` :::tip 将 \`x.x.x.x-premium\` 替换为 SDK 的指定版本。推荐使用最新版本。版本号详见 [iOS 推拉流 SDK 发布历史](https://www.volcengine.com/docs/6469/1799872)。 ::: 其中: * 如果您需要使用 RTMPS 协议推流,则将 \`'LivePush'\` 替换为 \`'LivePush', 'LivePush-RTMPS'\`,即 \`pod 'TTSDKFramework', 'x.x.x.x-premium', :subspecs => ['LivePush', 'LivePush-RTMPS']\` * 如果您需要使用观众连麦和主播 PK 等互动直播功能,则将 \`'LivePush'\` 替换为 \`'LivePush', 'RTCSDK'\`,即 \`pod 'TTSDKFramework', 'x.x.x.x-premium', :subspecs => ['LivePush', 'RTCSDK']\` **拉流 SDK** 在您的 `Podfile` 文件中添加依赖。 \`\`\`Ruby source 'https://github.com/volcengine/volcengine-specs.git' pod 'TTSDKFramework', 'x.x.x.x-premium', :subspecs => ['LivePull'] \`\`\` :::tip 将 \`x.x.x.x-premium\` 替换为 SDK 的指定版本。推荐使用最新版本。版本号详见 [iOS 推拉流 SDK 发布历史](https://www.volcengine.com/docs/6469/1799872)。 ::: 其中: * 如果您需要使用 RTM 协议拉流,则将 \`'LivePull'\` 替换为 \`'LivePull-RTS'\`,即 \`pod 'TTSDKFramework', 'x.x.x.x-premium', :subspecs => ['LivePull-RTS']\` * 如果您需要使用观众连麦等互动直播功能,则将 \`'LivePull'\` 替换为 \`'LivePull', 'RTCSDK'\`,即 \`pod 'TTSDKFramework', 'x.x.x.x-premium', :subspecs => ['LivePull', 'RTCSDK']\` <span id="ef145ee9"></span> #### Step 4:安装 SDK 在终端窗口中输入如下命令,更新本地库文件,并安装 SDK。 \`\`\`Ruby pod install \`\`\` <span id="d068ef4c"></span> ### 方法二:静态库集成 静态库的集成步骤与动态库相同。您只需将集成步骤中的 Pod 名称从 \`TTSDKFramework\` 修改为 \`TTSDK\`,即可实现静态库的集成。 **推流 SDK** \`\`\`Ruby source 'https://github.com/volcengine/volcengine-specs.git' pod 'TTSDK', 'x.x.x.x-premium', :subspecs => ['LivePush'] \`\`\` **拉流 SDK** \`\`\`Ruby source 'https://github.com/volcengine/volcengine-specs.git' pod 'TTSDK', 'x.x.x.x-premium', :subspecs => ['LivePull'] \`\`\` :::tip 将 \`x.x.x.x-premium\` 替换为 SDK 的指定版本。推荐使用最新版本。版本号详见 [iOS 推拉流 SDK 发布历史](https://www.volcengine.com/docs/6469/1799872)。 ::: `}></RenderMd></Tabs.TabPane> <Tabs.TabPane title="使用 SPM 集成 SDK" key="fmvqSDIxTD"><RenderMd content={`1. 在您的 Xcode 工程中,单击 **Package Dependencies** 页签下的 **+** 按钮。  2. 在弹出的对话框右上角,输入 \`git@github.com:volcengine/TTSDK_SPM.git\`。然后输入要集成的 SDK 版本号,并单击 **Add Package**,添加 TTSDK 依赖。  :::tip * 推荐选择 **Exact Version** 作为 **Dependency Rule**。 * 仅指定 SDK 版本支持使用 SPM 集成,详见 [iOS 推拉流 SDK 发布历史](https://www.volcengine.com/docs/6469/1799872)。 ::: 3. 按需选择依赖的组件,单击 **Add Package** 将组件添加到您的 Target 中。  视频直播 SDK 可选择以下组件: * \`TTSDK_LivePull\`:FLV、HLS、RTMP 协议直播拉流 * \`TTSDK_LivePull-RTS\`:FLV、HLS、RTMP、RTM 协议直播拉流 * \`TTSDK_LivePush\`:RTMP 协议直播推流 * \`TTSDK_ScreenCapture\`:直播录屏推流 `}></RenderMd></Tabs.TabPane></Tabs>);
使用 SDK 的音视频功能,需要授权麦克风和摄像头的权限。在 info.plist 中配置开启摄像头和麦克风权限。
- (void)requestAuthorization { AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeAudio]; if (authStatus != AVAuthorizationStatusAuthorized) { [[AVAudioSession sharedInstance] performSelector:@selector(requestRecordPermission:) withObject:^(BOOL granted) { if (granted) { NSLog(@"授权成功!"); } else { NSLog(@"授权失败!"); } }]; } }
拷贝 License 文件到工程目录下。并记住 License 文件的存放路径。
注意
License 文件已绑定了 BundleID 和 AppID。如果 License 文件与工程的 BundleID 或 AppID 不一致,会导致鉴权失败。