LiveKit Swift Client SDK Documentation

Class Room

@objc
public class Room: NSObject, Loggable  
%567 Room Room SignalClientDelegate SignalClientDelegate Room->SignalClientDelegate EngineDelegate EngineDelegate Room->EngineDelegate AppStateDelegate AppStateDelegate Room->AppStateDelegate Loggable Loggable Room->Loggable NSObject NSObject Room->NSObject MulticastDelegateProtocol MulticastDelegateProtocol Room->MulticastDelegateProtocol

Conforms To

Loggable

Allows to extend with custom log method which automatically captures current type (class name).

MulticastDelegateProtocol
NSObject

Initializers

init()

@objc
    public convenience override init()  

init(delegate:​connect​Options:​room​Options:​)

@objc
    public init(delegate: RoomDelegateObjC? = nil,
                connectOptions: ConnectOptions? = nil,
                roomOptions: RoomOptions? = nil)  

Properties

sid

@objc
    public var sid: Sid?  

name

@objc
    public var name: String?  

metadata

@objc
    public var metadata: String?  

Room's metadata.

server​Version

@objc
    public var serverVersion: String?  

server​Region

@objc
    public var serverRegion: String?  

Region code the client is currently connected to.

local​Participant

@objc
    public var localParticipant: LocalParticipant?  

remote​Participants

@objc
    public var remoteParticipants: [Sid: RemoteParticipant]  

active​Speakers

@objc
    public var activeSpeakers: [Participant]  

is​Recording

@objc
    public var isRecording: Bool  

If the current room has a participant with recorder:true in its JWT grant.

url

@objc
    public var url: String?  

token

@objc
    public var token: String?  

connection​State

public var connectionState: ConnectionState  

Current ConnectionState of the Room.

connection​State​Obj​C

@objc(connectionState)
    @available(swift, obsoleted: 1.0)
    public var connectionStateObjC: ConnectionStateObjC  

Only for Objective-C.

connect​Stopwatch

public var connectStopwatch: Stopwatch  

audio​Device​Module

@objc
    public static var audioDeviceModule: RTCAudioDeviceModule  

bypass​Voice​Processing

@objc
    public static var bypassVoiceProcessing: Bool  

Set this to true to bypass initialization of voice processing. Must be set before RTCPeerConnectionFactory gets initialized.

description

public override var description: String  

Methods

connect(url:​token:​connect​Options:​room​Options:​)

@objc(connectWithURL:token:connectOptions:roomOptions:)
    @discardableResult
    public func connect(url: String,
                        token: String,
                        connectOptions: ConnectOptions? = nil,
                        roomOptions: RoomOptions? = nil) -> Promise<Room>.ObjCPromise<Room>  

disconnect​Obj​C()

@objc(disconnect)
    @discardableResult
    public func disconnectObjC() -> Promise<Void>.ObjCPromise<NSNull>  

connect(_:​_:​connect​Options:​room​Options:​)

@discardableResult
    public func connect(_ url: String,
                        _ token: String,
                        connectOptions: ConnectOptions? = nil,
                        roomOptions: RoomOptions? = nil) -> Promise<Room>  

disconnect()

@discardableResult
    public func disconnect() -> Promise<Void>  

send​Simulate(scenario:​)

@discardableResult
    public func sendSimulate(scenario: SimulateScenario) -> Promise<Void>  

wait​For​Primary​Transport​Connect()

public func waitForPrimaryTransportConnect() -> Promise<Void>  

wait​For​Publisher​Transport​Connect()

public func waitForPublisherTransportConnect() -> Promise<Void>  

add(delegate:​)

public func add(delegate: RoomDelegate)  

remove(delegate:​)

public func remove(delegate: RoomDelegate)  

remove​All​Delegates()

@objc
    public func removeAllDelegates()  

add​Obj​C(delegate:​)

@objc(addDelegate:)
    @available(swift, obsoleted: 1.0)
    public func addObjC(delegate: RoomDelegateObjC)  

Only for Objective-C.

remove​Obj​C(delegate:​)

@objc(removeDelegate:)
    @available(swift, obsoleted: 1.0)
    public func removeObjC(delegate: RoomDelegateObjC)  

Only for Objective-C.