主播准备页 | 主播开播页 | 直播列表 | 观众观看页 |
![]() | ![]() | ![]() | ![]() |
sudo gem install cocoapods 命令进行安装。sudo gem install cocoapods 安装过程中可能需要输入电脑密码,按提示输入管理员密码即可。Podfile 文件中添加 pod 'TUILiveKit' 依赖。例如:target 'YourProjectTarget' do# 其他已有的 Pod 依赖...# 添加 pod 'TUILiveKit' 依赖pod 'TUILiveKit'end
cd 命令切换到您的 .xcodeproj 目录下,然后执行 pod init 命令创建 Podfile 文件,创建完成后,在您的 Podfile 文件中添加 pod 'TUILiveKit' 依赖。例如:// 如果您的项目目录是 /Users/yourusername/Projects/YourProject// 1. cd 到您的.xcodeproj 工程目录下cd /Users/yourusername/Projects/YourProject// 2. 执行 pod init,此命令运行完后,会在您的工程目录下生成一个 Podfile 文件。pod init// 3. 在生成的 Podfile 文件中添加 pod 'TUILiveKit' 依赖target 'YourProjectTarget' do# 添加 pod 'TUILiveKit' 依赖pod 'TUILiveKit'end
cd 到 Podfile 文件所在的目录,然后执行以下命令安装组件。pod install
Info.plist 文件中添加以下两项,并填写对应的使用说明,这些说明将在系统请求权限时向用户显示:<key>NSMicrophoneUsageDescription</key><string>TUILiveKit需要访问您的麦克风权限,开启后录制的视频才会有声音</string>

didFinishLaunchingWithOptions 方法内完成的。但在实际项目场景下,强烈推荐您在完成自己的用户身份验证等相关登录操作后,再调用 TUILiveKit 的登录服务。这样可以避免因过早调用登录服务,导致业务逻辑混乱或数据不一致的问题,同时也能更好地适配您项目中现有的用户管理和权限控制体系。//// AppDelegate.swift//// 1. 导入 TUICoreimport TUICore// 2. 示例代码在 didFinishLaunchingWithOptions 完成登录,推荐您在自己登录业务完成后再调用登录服务func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {// 3. 调用登录接口TUILogin.login(1400000001, // 请替换为开通服务控制台的 SDKAppIDuserID: "denny", // 请替换为您的 UserIDuserSig: "xxxxxxxxxxx") { // 您可以在控制台中计算一个 UserSig 并填在这个位置print("login success")} fail: { (code, message) inprint("login failed, code: \\(code), error: \\(message ?? "nil")")}return true}
//// AppDelegate.m//// 1. 导入 TUICore#import <TUICore/TUILogin.h>// 2. 示例代码在 didFinishLaunchingWithOptions 完成登录,推荐您在自己登录业务完成后再调用登录服务- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {// 3. 调用登录接口[TUILogin login:1400000001 // 请替换为开通服务控制台的 SDKAppIDuserID:@"denny" // 请替换为您的 UserIDuserSig:@"xxxxxxxxxxx" // 您可以在控制台中计算一个 UserSig 并填在这个位置succ:^{NSLog(@"login success");} fail:^(int code, NSString * _Nullable msg) {NSLog(@"login failed, code: %d, error: %@", code, msg);}];return YES;}
参数 | 类型 | 说明 |
SDKAppID | Int | |
UserID | String | 当前用户的唯一 ID,仅包含英文字母、数字、连字符和下划线。 |
userSig | String | 用于腾讯云鉴权的票据。请注意: 开发环境:您可以采用本地 GenerateTestUserSig.genTestSig 函数生成 UserSig 或者通过 UserSig 辅助工具 生成临时的 UserSig。生产环境:为了防止密钥泄露,请务必采用服务端生成 UserSig 的方式。详细信息请参见 服务端生成 UserSig。 |
TUILogin 提供了登录状态回调机制,方便您处理可能出现的登录异常情况,主要包括 “被踢下线” 和 “签名过期” 这两种异常状态的回调:onKickedOffline 回调通知给您,此时可以在 UI 提示用户,并调用 TUILogin.login 重新登录。// YourLoginService 代表您负责登录的业务模块class YourLoginService: NSObject {// 监听登录状态回调func addLoginListener() {TUILogin.add(self)}// 取消监听登录状态回调func removeLoginListener() {TUILogin.remove(self)}}// 实现登录回调 TUILoginListenerextension YourLoginService: TUILoginListener {// 用户被踢下线回调func onKickedOffline() {// 您的业务代码:UI 交互提示用户,然后重新登录}// 用户签名过期回调func onUserSigExpired() {// 您的业务代码:如果当前用户在您后台的登录态依然有效,您可以让您的 app 向您的后台请求新的 userSig,并调用 TUILogin.login 续签登录态。}}
@interface YourLoginService() <TUILoginListener>// 监听登录状态回调- (void)addLoginListener;// 取消监听登录状态回调- (void)removeLoginListener;@end@implementation YourLoginService// 监听登录状态回调- (void)addLoginListener {[TUILogin add:self];}// 取消监听登录状态回调- (void)removeLoginListener {[TUILogin remove:self];}#pragma mark - TUILoginListener// 用户被踢下线回调- (void)onKickedOffline {// 您的业务代码:UI 交互提示用户,然后重新登录}// 用户签名过期回调- (void)onUserSigExpired {// 您的业务代码:UI 交互提示用户,然后重新登录}@end
Podfile.lock和 Pods,您可以选择手动删除或终端执行以下命令:// cd 到 Podfile 所在目录下rm -rf Pods/rm Podfile.lock
pod install --repo-update,示例如下:// cd 到 Podfile 所在目录下pod install --repo-update
TUILogin.login 调用即可,我们建议您将 TUILogin.login 和 TUILogin.logout 与自己的登录业务关联。文档反馈