The Zoom Video SDK UI toolkit is a prebuilt video chat user interface powered by the Zoom Video SDK.
The UI toolkit enables you to instantly start using a core set of Video SDK features in your app, including:
- Join and leave sessions
- Video on or off
- Front or back camera
- Mute and unmute
- Session chat (group and private)
- Active speaker and gallery view
- Participant management (by host and manager roles)
- Virtual background
- Portrait and Landscape support
- Screen sharing (full-screen)
The use of this UI Took Kit is subject to the Video SDK terms of service. Copyright 2024 Zoom Video Communications, Inc. All rights reserved.
- Xcode
- A physical 64-bit iOS device (iPhone or iPad) with iOS version 11.0+
- A validated provisioning profile certificate
- A Video SDK developer account with credentials
Currently, the Zoom Video SDK UI toolkit is available in Swift Package Manager and Cocoapod. The current branch you are viewing right now is the main branch which consists of all 5 xcframeworks (ZoomVideoSDK, ZoomVideoSDKUIToolkit, ZoomVideoSDKScreenShare, CptShare, and zoomcml) with all the UI toolkit features listed earlier. However, if you do not need the virtual background or screen sharing features, you can use the essential branch instead of the main branch.
https://github.com/zoom/videosdk-ui-toolkit-ios.git
For the camera and mic to work during the session, add the following:
Permission Required | Optional | Permission Key | Description |
---|---|---|---|
Camera | Required | NSCameraUsageDescription | Required for Video |
Microphone | Required | NSMicrophoneUsageDescription | Required for Audio |
Bluetooth | Required | NSBluetoothPeripheralUsageDescription | Required for Bluetooth audio devices |
Learn how to use your credentials to authenticate so you can connect.
See the Video SDK Auth Endpoint Sample for a sample app that shows how to quickly, easily, and securely generate a Video SDK JWT.
After understanding the authorization process, we can simply add the Zoom Video SDK UI toolkit to your View Controller by following the 3 steps below.
Create the SessionContext that takes in the required parameters such as JWT, session name and username (display name). If your session requires a password, you can use the password parameter.
let sessionContext = SessionContext(jwt: String, sessionName: String, username: String)
// OR if password is required
let sessionContext = SessionContext(jwt: String, sessionName: String, sessionPassword: String?, username: String)
Create the UIToolkitVC that takes in the sessionContext and present it.
let vc = UIToolkitVC(sessionContext: sessionContext)
vc.delegate = self
vc.modalPresentationStyle = .fullScreen
present(toolkitVC, animated: true)
There is a delegate class UIToolkitDelegate which consists of important callbacks such as error, view is loaded and dismissed.
extension YourViewController: UIToolkitDelegate {
func onError(_ errorType: UIToolkitError) {
print("UIToolkitVC onError: \(errorType.rawValue) -> \(errorType.description)")
}
func onViewLoaded() {
print("UIToolkitVC onViewLoaded")
}
func onViewDismissed() {
print("UIToolkitVC onViewDismissed")
}
}
See the Zoom Video SDK UI toolkit documentation for more.
If you're looking for help, try Developer Support or our Developer Forum. Priority support is also available with Premier Developer Support plans.
Copyright 2024 Zoom Video Communications, Inc. All rights reserved.