Released: 2026-03-25 Updated: 2026-03-27
Summary: Breaking changes - minimum OS and Xcode versions, behavior for SetBOOption, add a new error code, add ten new libraries, remove framework and bundles; support for camera selection and for new talkback feature; deprecate an element; fix an issue that happened after an active video element was destroyed.
Breaking changes
-
Minimum supported macOS version has been updated to 10.15.
-
Upgrade Xcode to 26.
-
Change the behavior for the function
SetBOOptionso that when it is called before a breakout room is created, the function returns an error.- Add a new error code.
ZoomSDKError_Breakout_Room_Not_Created
- Add a new error code.
-
Add ten new libraries.
zVideoUIEx.framework zUnifyWebViewApp.framework zPTUIEx.framework libzmbTranscode.dylib zVideoUIEx.bundle ZoomSettingEx.framework zChatBase.framework zVideoAppPlugin.bundle libzmbRecord.dylib zm_conf_universal_ui_plugin.framework -
Remove framework and bundles.
zUnifyWebView.framework zmb.bundle
Added
- Support notifying users of the change of selected camera when user selects a camera in Zoom UI.
- New property in
ZoomSDKVideoSetting.@property(nonatomic, assign, nullable)id<ZoomSDKSettingVideoDelegate> delegate;
- New property in
- Support talkback audio feature.
- New interface in
ZoomSDKTalkbackController.h. - New interface
ZoomSDKTalkbackChannel.@interface ZoomSDKTalkbackChannel : NSObject @property(nonatomic, copy, readonly) NSString *channelID; @property(nonatomic, retain, readonly, nullable) NSArray<NSNumber*> *userIDList; @end - New protocol
ZoomSDKTalkbackControllerDelegate.@protocol ZoomSDKTalkbackControllerDelegate <NSObject> @optional (void)onCreateChannelResponse:(NSString *)channelID error:(ZoomSDKTalkbackError)error; (void)onDestroyChannelResponse:(NSString *)channelID error:(ZoomSDKTalkbackError)error; (void)onChannelUserJoinResponse:(NSString *)channelID userID:(unsigned int)userID error:(ZoomSDKTalkbackError)error; (void)onChannelUserLeaveResponse:(NSString *)channelID userID:(unsigned int)userID error:(ZoomSDKTalkbackError)error; (void)onJoinTalkbackChannel:(unsigned int)inviterID; (void)onLeaveTalkbackChannel:(unsigned int)inviterID; (void)onInviterAudioLevel:(unsigned int)inviterID audioLevel:(unsigned int)audioLevel; @end - New interface
ZoomSDKTalkbackController.@interface ZoomSDKTalkbackController : NSObject @property(nonatomic,assign,nullable)id<ZoomSDKTalkbackControllerDelegate> delegate; (BOOL)isMeetingSupportTalkBack; (ZoomSDKError)createChannel:(unsigned int)count; (ZoomSDKTalkbackChannel* _Nullable)getChannelByID:(NSString *)channelID; (NSArray<ZoomSDKTalkbackChannel*> * _Nullable)getChannelList; (ZoomSDKError)destroyChannels:(NSArray<NSString*> *)channelIDs; (ZoomSDKError)inviteUsersToChannel:(NSString*)channelID userIDList:(NSArray<NSNumber*> *)userIDs; (ZoomSDKError)removeUsersFromChannel:(NSString*)channelID userIDList:(NSArray<NSNumber*> *)userIDs; (ZoomSDKError)sendAudioDataToChannel:(NSString *)channelID audioData:(char *)audioData dataLength:(unsigned int)dataLength sampleRate:(unsigned int)sampleRate channel:(ZoomSDKAudioChannel)channel; (ZoomSDKError)setChannelBackgroundVolume:(NSString *)channelID backgroundVolume:(float)backgroundVolume; @end - New interface in
ZoomSDKUserInfo.(BOOL)isSupportTalkback; - New interface in
ZoomSDKMeetingService.(ZoomSDKTalkbackController *)getTalkbackController; - New enum value in
ZoomSDKTalkbackError.typedef enum { ZoomSDKTalkbackError_OK, ZoomSDKTalkbackError_NoPermission, ZoomSDKTalkbackError_AlreadyExist, ZoomSDKTalkbackError_CountOverflow, ZoomSDKTalkbackError_NotExist, ZoomSDKTalkbackError_Rejected, ZoomSDKTalkbackError_Timeout, ZoomSDKTalkbackError_Unknown } ZoomSDKTalkbackError;
- New interface in
- Support selecting virtual background in pre-meeting preview.
-
New interface in
ZoomSDKJoinMeetingHelper.(ZoomSDKError)confirmPreview:(NSString* _Nullable)screenName videoOn:(BOOL)videoOn audioOn:(BOOL)audioOn; -
New enum in
JoinMeetingReqInfoType.typedef enum { /*......*/ JoinMeetingReqInfoType_ConfirmPreview } JoinMeetingReqInfoType;
-
Deprecated
-
Deprecate property in
ZoomSDKSettingTestVideoDeviceHelper.property(nonatomic, assign, nullable)id<ZoomSDKSettingVideoDelegate> delegate DEPRECATED_MSG_ATTRIBUTE("This property is deprecated. Use ZoomSDKVideoSetting.delegate instead.");
Fixed
- Fixed an issue where the function
haveActiveVideoSourcewould returntrueafter the active video element was destroyed.