开播 SDK 提供录屏直播和视频直播两大功能。本文介绍如何将开播 SDK 集成到您的 iOS App 中。
在项目的 Podfile
文件中添加依赖。
说明
如果您的项目尚未使用过 CocoaPods,在项目的根目录下,执行 pod init && pod install
命令,可以得到 Podfile
文件。
source 'https://github.com/cocoapods/Specs.git'
source 'https://github.com/volcengine/volcengine-specs.git'
# 您 App Target 的名字
target 'XXXX' do
# 只集成开播 SDK
# 如需优化包体积,可将 LiveStreaming 替换为 LiveStreamingWithoutRTC 集成不包含录屏直播功能的开播 SDK
pod'BDLive', '1.55.0', :subspecs => [
'LiveStreaming',
]
# 同时集成开播 SDK 和观播 SDK
# 如需优化包体积,可将 LiveStreaming 替换为 LiveStreamingWithoutRTC 集成不包含录屏直播功能的开播 SDK,将 Viewer 替换为 ViewerWithoutRTC 集成不包含超低延时直播以及观众连麦功能的观播 SDK
pod'BDLive', '1.55.0', :subspecs => [
'LiveStreaming',
'Viewer',
]
end
打开终端窗口,执行 cd
命令进入您的项目目录。执行 pod install
命令安装依赖。
默认使用动态库版本的 TTSDK。如需使用静态库版本的 TTSDK,请完成以下步骤:
在添加依赖时,在版本号后添加 -static-ttsdk
。详见上述 Podfile
文件配置。
# 只集成开播 SDK
pod'BDLive', '1.55.0-static-ttsdk', :subspecs => [
'LiveStreaming',
]
# 同时集成开播 SDK 和观播 SDK
pod'BDLive', '1.55.0-static-ttsdk', :subspecs => [
'LiveStreaming',
'Viewer',
]
在初始化 TTSDK 时,将 #import <TTSDKFramework/TTSDKManager.h>
替换为 #import <TTSDK/TTSDKManager.h>
。详见步骤四:初始化 TTSDK。
在 Xcode 的 App Target 下,完成以下操作:
打开 info.plist
文件并通过以下任一方式添加权限:
info.plist
文件,并添加以下 key 和 string。您可以自定义 string 的值作为在系统弹出授权对话框时的提示信息。<!-- 相册权限 --> <key>NSPhotoLibraryUsageDescription</key> <string>App 需要获取您的相册权限,用于将本地图片合入直播流</string> <!-- 麦克风权限 --> <key>NSMicrophoneUsageDescription</key> <string>App 需要获取您的麦克风权限,用于采集直播声音</string> <!-- 相机权限 --> <key>NSCameraUsageDescription</key> <string>App 需要获取您的相机权限,用于采集直播视频</string>
如果需要 App 在后台运行时继续录制音频或者需要使用录屏直播功能,需要完成以下步骤:
(可选)如果您的项目使用了 Bitcode,需要关闭 Bitcode。
设置开播支持的屏幕方向。
在 Xcode 的 App Target 下,打开 AppDelegate.m
文件初始化 TTSDK。
// 如需使用静态库版本的 TTSDK,请替换为 #import <TTSDK/TTSDKManager.h>
#import <TTSDKFramework/TTSDKManager.h>
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[self initTTSDK];
return YES;
}
- (void)initTTSDK {
TTSDKConfiguration *configuration = [TTSDKConfiguration defaultConfigurationWithAppID:@"APP_ID"]; // 将 APP_ID 替换为在 SDK 应用创建后生成的 App ID
configuration.appName = @"APP_NAME"; // 将 APP_NAME 替换为创建 SDK 应用时填写的 App 英文名称
configuration.channel = @"CHANNEL_NAME"; // 将 CHANNEL_NAME 替换为 App 的渠道名称,例如 App Store
configuration.bundleID = @"BUNDLE_ID"; // 将 BUNDLE_ID 替换为 App 的唯一标识(Bundle Identifier)
configuration.licenseFilePath = [[NSBundle mainBundle] pathForResource:@"LIVE_LICENSE_NAME" ofType:@"lic"]; // 将 LIVE_LICENSE_NAME 替换为直播 License 文件的名称
[TTSDKManager startWithConfiguration:configuration];
}
自 SDK 1.31.0 版本开始,您可以按需完成以下操作优化 SDK 的包体积。
说明
仅 1.31.0 - 1.34.0 版本需完成该步骤。
LiveStreaming
替换为 LiveStreamingWithoutRTC
。详见步骤一:添加依赖。...
# 只集成开播 SDK
pod'BDLive', '1.55.0-static-ttsdk', :subspecs => [
'LiveStreamingWithoutRTC',
]
# 同时集成开播 SDK 和观播 SDK
pod'BDLive', '1.55.0-static-ttsdk', :subspecs => [
'LiveStreamingWithoutRTC',
'ViewerWithoutRTC', # 集成不包含超低延时直播以及观众连麦功能的观播 SDK
]
end
Xcode 15 的已知问题导致。详见苹果开发者论坛。
您可以在 Xcode 的 App Target 下,单击 Build Settings > Other Linker Flags,并添加 -ld64。