iOS端快速集成

本文为您介绍不含UI在线K歌房的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源码,请参见前置准备

快速集成

以下几个步骤快速集成不包含UI的在线K歌场景API到你的APP中

  • 导入AUIRoomCore和AUIMessage:仓库代码下载后,拷贝AUIRoomCore和AUIMessage文件夹到你的APP代码目录下,与你的Podfile文件在同一层级

  • 修改你的Podfile,引入:

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

    • AUIRoomCore:互娱与通话场景API源码,目前支持语聊/在线K歌房,可以去掉不需要的部分代码(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.2'

    # 互动消息组件源码,下载源码后,与你的Podfile文件在同一层级,房间服务接口的默认实现需要用到AUIMessage及互动消息SDK
    pod 'AUIMessage/AliVCIM', :path => "./AUIMessage/"

    # 互娱语聊场景核心组件,指定依赖的SDK为AliVCSDK_ARTC,需要与上面指定的SDK名字一致
    pod 'AUIRoomCore/AliVCSDK_ARTC', :path => "./AUIRoomCore/"

    # 引入在线K歌房API
    pod 'AUIRoomCore/KaraokeRoomAPI', :path => "./AUIRoomCore/"
end
  • 执行“pod install --repo-update”

  • 源码集成完成

工程配置

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

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

源码配置

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

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

调用API示例

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

可以参考源码仓库中的AUIKaraokeRoom组件的AUIKaraokeRoomViewController类。