Welcome to the documentation for AgoraRTC SDK Special for iOS! This SDK allows you to integrate real-time communication services into your iOS applications. With AgoraRTC SDK Special, you can build powerful applications that support voice and video communication.


  • Real-time audio and video transmission
  • High-quality audio and video calls
  • Support for multi-party conferences
  • Screen sharing capabilities
  • Integration with third-party services


Before getting started with AgoraRTC SDK Special for iOS, make sure you have the following:

  • An Apple Developer Account
  • Xcode installed on your development machine
  • An iOS device running iOS 9.0 or above
  • Basic knowledge of Swift programming language


To install AgoraRTC SDK Special for iOS, follow these steps:

  1. Create a new iOS project in Xcode.
  2. Open the project directory in the terminal.
  3. Run the following command to install the AgoraRTC SDK Special using CocoaPods:
pod 'AgoraRTC-SDK-Special'
  1. Open the project in Xcode and import the AgoraRTC SDK Special using the following code:
import AgoraRTC


To initialize the AgoraRTC SDK Special, follow these steps:

  1. Import the AgoraRTC module in your Swift file.
  2. Create an instance of the AgoraRtcEngine class.
  3. Set the delegate for receiving callbacks from the SDK.
  4. Initialize the AgoraRtcEngine instance using your App ID.
import AgoraRTC

class MyViewController: UIViewController, AgoraRtcEngineDelegate {

    var agoraKit: AgoraRtcEngineKit!

    override func viewDidLoad() {
        agoraKit = AgoraRtcEngineKit.sharedEngine(withAppId: "YOUR_APP_ID", delegate: self)

    // Implementation of delegate methods...



Once the AgoraRTC SDK Special is initialized, you can use its functions and callbacks to enable real-time communication in your iOS application. Here are some examples:

Joining a Channel

To join a channel, call the joinChannel method on the AgoraRtcEngine instance.

agoraKit.joinChannel(byToken: "YOUR_CHANNEL_TOKEN", channelId: "YOUR_CHANNEL_ID", info: nil, uid: 0) { (channel, uid, elapsed) in
    // Joining channel successful

Publishing Local Stream

To publish the local stream, call the setClientRole method on the AgoraRtcEngine instance.

agoraKit.setClientRole(.broadcaster) { (errCode) in
    // Role changed successfully, local stream published

Subscribing to Remote Stream

To subscribe to a remote stream, call the subscribe method on the AgoraRtcEngine instance.

agoraKit.subscribe(toUid: uid, with: .low) { (uid, elapsed) in
    // Subscription successful, remote stream available


Congratulations! You have successfully set up AgoraRTC SDK Special for iOS in your project. You can now explore and utilize the various features and functions provided by the SDK to build powerful real-time communication applications for iOS.