Swiftpack.co - AgoraIO-Community/VideoUIKit-macOS 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/VideoUIKit-macOS 4.0.0
Swift Package and CocoaPod to simply integrate Agora Video Calling or Live Video Streaming to your macOS app with just a few lines of code.
⭐️ 0
🕓 2 weeks ago
macOS
.package(url: "https://github.com/AgoraIO-Community/VideoUIKit-macOS.git", from: "4.0.0")

Agora UIKit for macOS

Instantly integrate Agora in your own application or prototype using macOS. For iOS, see VideoUIKit-iOS.

More information available on this repo's Wiki

Click here for full documentation

Requirements

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

Installation

Swift Package Manager and CocoaPods are both available offered for installation methods.

The Pod for this package is called AgoraUIKit_iOS and AgoraUIKit_macOS for the two available platforms.

See the Installation wiki page for more information on installing the package.

Usage

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

The main view for Agora UIKit is AgoraVideoViewer. This is an example of a minimal creation that gives you a view similar to the one at the top of this README:

import AgoraRtcKit
import AgoraUIKit

let agoraView = AgoraVideoViewer(
    connectionData: AgoraConnectionData(
        appId: "<#my-app-id#>",
        rtcToken: "<#my-channel-token#>",
        rtmToken: "<#my-channel-rtm-token#>"
    ), delegate: self
)

Frame your newly created AgoraVideoViewer in the app scene, then join a channel by calling:

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

More examples available on the wiki

Documentation

For full documentation, see our AgoraUIKit documentation page.

Error Handling and Troubleshooting

For tips on how to overcome some common errors, see the wiki page.

Roadmap

  • ☑ Muting/Unmuting a remote member
  • ☑ Usernames (Settable value, not currently rendered)
  • ☐ Promoting an audience member to a broadcaster role.
  • ☐ Layout for Voice Calls
  • ☐ Cloud recording

Other Video UI Kits

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

UML Diagrams

  • AgoraUIKit

UML of AgoraUIKit

  • AgoraRtmControl

UML of AgoraRtmControl

generated with swiftplantuml classdiagram Sources

GitHub

link
Stars: 0
Last commit: 1 week ago
jonrohan Something's broken? Yell at me @ptrpavlik. Praise and feedback (and money) is also welcome.

Release Notes

4.0.0 Release
1 week ago
  • This release uses RTC Engine 4.0.0-r.4 under the hood.
  • ✨ The main feature is that this Video UI Kit uses Agora RTC 4.x instead of 3.x
  • 😢 It also uses RTM 1.5.x, as sending images or files over RTM is no longer supported.
  • 📖 API Reference has had a makeover, with the 2022 DocC updates, and including an article. Check out the docs here
  • ➡️ iOS support can be found at VideoUIKit-iOS.

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