iOS快速集成

本文为您介绍iOS端接入语聊房的操作指引。

源码说明

源码地址

源码地址请参见iOS源码

源码结构

需要用到2个组件库,AUIRoomCore和AUIMessage,结构如下:

├── AUIRoomCore
│   ├── AUIRoomCore.podspec                // pod描述文件
│       ├── Core                           // 场景化API
│           ├── Model                      // 房间、用户等模型
│           ├── Service                    // 房间&rtc服务
│           ├── VoiceRoom                  // 语聊场景化API
│           ├── KaraokeRoom                // KTV场景化API,不需要可以删掉
│       ├── Imp                            // 提供房间服务接口的默认实现
│       ├── Login                          // 用于阿里AUI Demo的登录,不需要的可以删掉
│   ├── README.md                          // Readme
├── AUIBaseKits
│    ├── AUIMessage

环境要求

  • Xcode 14.0 及以上版本,推荐使用最新正式版本

  • CocoaPods 1.9.3 及以上版本

  • 准备 iOS 10.0 及以上版本的真机

前提条件

需要开通应用,并且在您的服务端上开发相关接口或直接部署提供的Server源码,详情参考服务端配置与运行

快速集成

操作步骤

  1. 导入AUIRoomCore和AUIMessage:仓库代码下载后,拷贝AUIRoomCore和AUIMessage文件夹到您的App代码目录下,与您的Podfile文件在同一层级。

  2. 修改您的Podfile,引入:

    • AliVCSDK_ARTC:适用于实时音视频的音视频终端SDK,也可以使用:AliVCSDK_Standard或AliVCSDK_InteractiveLive,参考iOS端快速集成

    • AUIRoomCore:互娱与通话场景API源码,目前支持语聊,可以去掉不需要的部分代码(KaraokeRoom和Login)。

    • AUIMessage:房间服务接口的默认实现需要用到AUIMessage及互动消息SDK。

    #需要iOS10.0及以上才能支持
    platform :ios, '10.0'
    
    target '你的App target' do
        # 根据自己的业务场景,集成合适的音视频终端SDK,支持:AliVCSDK_ARTC、AliVCSDK_Standard、AliVCSDK_InteractiveLive
        pod 'AliVCSDK_ARTC', '~> 6.10.0'
    
        # 互动消息组件源码,下载源码后,与你的Podfile文件在同一层级,房间服务接口的默认实现需要用到AUIMessage及互动消息SDK
        pod 'AUIMessage/AliVCIM', :path => "./AUIMessage/"
    
        # 互娱语聊场景核心组件,指定依赖的SDK为AliVCSDK_ARTC,需要与上面指定的SDK名字一致
        pod 'AUIRoomCore/AliVCSDK_ARTC', :path => "./AUIRoomCore/"
    
        # 引入语聊API
        pod 'AUIRoomCore/VoiceRoomAPI', :path => "./AUIRoomCore/"
    end
  3. 执行pod install --repo-update

  4. 源码集成完成。

工程配置

  • 打开工程info.Plist,添加NSMicrophoneUsageDescription权限。

  • 打开工程设置,在Signing & Capabilities中开启Background Modes。

源码配置

完成前提条件后,进入文件ARTCRoomRTCService.swift,修改实时音视频应用appID

// ARTCRoomRTCService.swift
@objcMembers public class ARTCRoomConfig: NSObject {
    
    public var appId = "你的appID"
    ...
}

调用API示例

前面工作完成后,在开发自身UI后,可以调用语聊房API接口实现业务功能。

可以参考源码仓库中的AUIVoiceRoom组件的AUIVoiceRoomViewController类。