Changelog: Meeting SDK - macOS - 7.0.0

Released: 2026-03-25 Updated: 2026-03-27

Visit Changelog

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 SetBOOption so 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 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;
      
  • 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;
      
  • 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 haveActiveVideoSource would return true after the active video element was destroyed.