Swiftpack.co - AgoraIO-Community/iOS-UIKit as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by AgoraIO-Community.
AgoraIO-Community/iOS-UIKit 4.0.0-preview.10
Swift package and CocoaPod to simply integrate Agora Video Calling or Live Video Streaming to your iOS or macOS app with just a few lines of code.
⭐️ 34
🕓 7 weeks ago
.package(url: "https://github.com/AgoraIO-Community/iOS-UIKit.git", from: "4.0.0-preview.10")

Agora UIKit for iOS and macOS

Instantly integrate Agora in your own application or prototype using iOS or macOS.


  • Device
    • Either an iOS device with 12.0 or later
    • Or a macOS computer with 10.14 or later
  • Xcode 11 or later
  • *CocoaPods (if installing with CocoaPods)
  • An Agora developer account

Once you have an Agora developer account and an App ID, you're ready to use this pod.

Click here for full documentation


Swift Package Manager (Recommended, iOS Only)

Add the URL of this repository to your Xcode 11+ Project.

Go to File > Swift Packages > Add Package Dependency, and paste in this link:


If you are using the developer preview, add 4.0.0-preview in the version box there, otherwise use a version from 1.0.0 up to 2.0.0.

If you have issues installing the Swift Package:

In Xcode's File menu, select 'Swift Packages' and then 'Reset Package Caches'.


In your iOS or macOS project, add this pod to your repository by adding a file named Podfile, with contents similar to this:

# Uncomment the next line to define a global platform for your project
# platform :ios, '12.0'

target 'Agora-UIKit-Example' do
  # Comment the next line if you don't want to use dynamic frameworks

  # Uncomment the next line if you want to install for iOS
  # pod 'AgoraUIKit_iOS', '~> 1.0'

  # Uncomment the next line if you want to install for macOS
  # pod 'AgoraUIKit_macOS', '~> 1.0'

And then install the pods using pod install --repo-update

If any of these steps are unclear, look at "Using Cocoapods" on cocoapods.org. The installation will change slightly once this pod is out of pre-release.


Once installed, open your application .xcodeproj file. Or .xcworkspace if using CocoaPods.

Decide where you want to add your AgoraVideoViewer, and in the same file import Agora_UIKit or Agora_AppKit for iOS and macOS respectively. Next, create an AgoraVideoViewer object and frame it in your scene like you would any other UIView or NSView. The AgoraVideoViewer object must be provided AgoraConnectionData and a UIViewController/NSViewController on creation.

AgoraConnectionData has two values for initialising. These are appId and rtcToken, as well as an optional rtmToken.

An AgoraVideoViewer can be created like this:

import AgoraRtcKit
import AgoraUIKit_iOS

let agoraView = AgoraVideoViewer(
    connectionData: AgoraConnectionData(
        appId: "my-app-id",
        rtcToken: "my-channel-token",
        rtmToken: "my-channel-rtm-token"
    style: .grid,
    delegate: self

An alternative style is .floating, as seen in the image above.

To join a channel, simply call:

agoraView.join(channel: "test", as: .broadcaster)


For full documentation, see our AgoraUIKit documentation page.


  • ☑ Muting/Unmuting a remote member
  • ☐ Usernames
  • ☐ Promoting an audience member to a broadcaster role.
  • ☐ Layout for Voice Calls
  • ☐ Cloud recording


The plan is to grow this library and have similar offerings across all supported platforms. There are already similar libraries for Android, React Native, and Flutter, so be sure to check them out.


Stars: 34
Last commit: 2 weeks ago
jonrohan Something's broken? Yell at me @ptrpavlik. Praise and feedback (and money) is also welcome.

Release Notes

IPv4/IPv6 RTM Minimum (NG SDK)
7 weeks ago
  • Set the minimum valid RTM version to that which is compatible with IPv4/IPv6 networks

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics