Changelog: Meeting SDK - iOS - 6.7.5

Released: 2026-02-16 Updated: 2026-02-17

Visit Changelog

Summary: Remove support for x86 architecture for the iOS simulator; added support for public app type authentication, support for custom 3D avatar elements and for managing custom 3D avatars, and support for human avatars.

Breaking changes

  • As of version 6.7.5, the Meeting SDK no longer supports x86 architecture for the iOS simulator.

Added

  • Added new interface publicAppKey in class ZoomSDKAuthContext to support public app type authentication.

    ```
    /**
     * @brief Public app key used for SDK authentication (alternative to JWT token).
     */
    @property (nullable, retain, nonatomic) NSString *publicAppKey;
    
    ```
    
  • Added MobileRTCMeetError_UserLevelTokenNotHaveHostZakObf and MobileRTCMeetError_AppCanNotAnonymousJoinMeeting constants to MobileRTC/MobileRTCConstants.h to support restricting cross-account anonymous joining from the Meeting SDK. Also added MobileRTCMeetError_OnBehalfTokenInvalid and MobileRTCMeetError_OnBehalfTokenNotMatchMeeting constants to support restricting cross-account anonymous joining from the Meeting SDK.

        /** User level privilege token not have host zak/obf. */
        MobileRTCMeetError_UserLevelTokenNotHaveHostZakObf = 503,
        /** App can not anonymous join meeting. */
        MobileRTCMeetError_AppCanNotAnonymousJoinMeeting   = 504,
        /** On-behalf token invalid. */
        MobileRTCMeetError_OnBehalfTokenInvalid                = 505,
        /** On-behalf token meeting number not match. */
        MobileRTCMeetError_OnBehalfTokenNotMatchMeeting         = 506,
    
  • Added the new enum MobileRTCCustom3DAvatarElementImageType to help define the different types of custom 3D avatar element images. Also added the new enum MobileRTCCustom3DAvatarElementColorType to help define the different types of custom 3D avatar element colors.

    typedef NS_ENUM(NSInteger, MobileRTCCustom3DAvatarElementImageType) {
        MobileRTCCustom3DAvatarElementImageType_None = 0,
        MobileRTCCustom3DAvatarElementImageType_Skin,
        MobileRTCCustom3DAvatarElementImageType_Face,
        MobileRTCCustom3DAvatarElementImageType_Hair,
        MobileRTCCustom3DAvatarElementImageType_Eyes,
        MobileRTCCustom3DAvatarElementImageType_EyeColor,
        MobileRTCCustom3DAvatarElementImageType_Eyelashes,
        MobileRTCCustom3DAvatarElementImageType_Eyebrows,
        MobileRTCCustom3DAvatarElementImageType_Nose,
        MobileRTCCustom3DAvatarElementImageType_Mouth,
        MobileRTCCustom3DAvatarElementImageType_LipColor,
        MobileRTCCustom3DAvatarElementImageType_Age,
        MobileRTCCustom3DAvatarElementImageType_FacialHair,
        MobileRTCCustom3DAvatarElementImageType_Body,
        MobileRTCCustom3DAvatarElementImageType_Clothing,
        MobileRTCCustom3DAvatarElementImageType_HeadCovering,
        MobileRTCCustom3DAvatarElementImageType_Glasses,
    };
    
    typedef NS_ENUM(NSInteger, MobileRTCCustom3DAvatarElementColorType) {
        MobileRTCCustom3DAvatarElementColorType_None = 0,
        MobileRTCCustom3DAvatarElementColorType_Eyebrow,
        MobileRTCCustom3DAvatarElementColorType_Mustache,
        MobileRTCCustom3DAvatarElementColorType_Hair,
        MobileRTCCustom3DAvatarElementColorType_Eyelash,
    };
    
  • Added delegate setter interface to help support custom 3d avatar and human avatar callbacks.

    - (void)setDelegate:(id<MobileRTCMeetingSettingsDelegate> _Nullable)delegate;
    
  • Added callbacks relating to custom 3D avatar downloaded events to help manage custom 3D avatars.

    @protocol MobileRTCMeetingSettingsDelegate <NSObject>
    @optional
    - (void)onCustom3DAvatarImageModelDataDownloaded:(BOOL)success imageInfo:(MobileRTC3DAvatarImageInfo * _Nullable)imageInfo;
    - (void)onCustom3DAvatarDefaultImageModelDataDownloaded:(BOOL)success;
    @end
    
  • Add custom 3D avatar interfaces in new file MobileRTCMeetingSettings+Custom3DAvatar.h to help manage custom 3D avatars.

    @interface MobileRTCMeetingSettings (Custom3DAvatar)
    - (BOOL)isCustom3DAvatarEnabled;
    - (NSArray<MobileRTC3DAvatarImageInfo*> * _Nullable)getCustom3DAvatarImageList;
    - (BOOL)isCustom3DAvatarImageModelDataReady:(MobileRTC3DAvatarImageInfo* _Nullable)imageInfo;
    - (MobileRTCSDKError)downloadCustom3DAvatarImageModelData:(MobileRTC3DAvatarImageInfo* _Nullable)imageInfo;
    - (MobileRTCSDKError)setCustom3DAvatarImage:(MobileRTC3DAvatarImageInfo* _Nullable)imageInfo;
    - (BOOL)isCustom3DAvatarDefaultImageModelDataReady;
    - (MobileRTCSDKError)downloadCustom3DAvatarDefaultImageModelData;
    - (MobileRTCCustom3DAvatarElementSettingContext* _Nullable)startCreateCustom3DAvatarWithPreviewView:(UIView* _Nullable)previewView;
    - (MobileRTCSDKError)finishCreateCustom3DAvatar:(BOOL)save;
    - (MobileRTCCustom3DAvatarElementSettingContext* _Nullable)startEditCustom3DAvatarWithPreviewView:(UIView* _Nullable)previewView imageInfo:(MobileRTC3DAvatarImageInfo* _Nullable)imageInfo;
    - (MobileRTCSDKError)finishEditCustom3DAvatar:(BOOL)save;
    - (MobileRTCSDKError)duplicateCustom3DAvatarImage:(MobileRTC3DAvatarImageInfo* _Nullable)imageInfo;
    - (MobileRTCSDKError)deleteCustom3DAvatarImage:(MobileRTC3DAvatarImageInfo* _Nullable)imageInfo;
    @end
    
  • Add custom 3D avatar context interfaces in new file MobileRTCCustom3DAvatarElementSettingContext.h to help manage custom 3D avatars.

    @protocol MobileRTCCustom3DAvatarElementSettingContextDelegate <NSObject>
    @optional
    - (void)onCustom3DAvatarElementImageModelDataDownloaded:(BOOL)success imageInfo:(MobileRTCCustom3DAvatarElementImageInfo *)imageInfo;
    @end
    
    @interface MobileRTCCustom3DAvatarElementImageInfo : NSObject
    @property (nonatomic, assign) MobileRTCCustom3DAvatarElementImageType elementImageType;
    @property (nonatomic, assign) BOOL isSelected;
    @property (nonatomic, copy) NSString * _Nullable imageFilePath;
    @property (nonatomic, copy) NSString * _Nullable imageName;
    @end
    
    @interface MobileRTCCustom3DAvatarElementColorInfo : NSObject
    @property (nonatomic, assign) MobileRTCCustom3DAvatarElementColorType elementColorType;
    @property (nonatomic, strong) UIColor * _Nullable color;
    @property (nonatomic, assign) BOOL isSelected;
    @property (nonatomic, copy) NSString * _Nullable colorName;
    @end
    
    @interface MobileRTCCustom3DAvatarElementSettingContext : NSObject
    - (void)setDelegate:(id<MobileRTCCustom3DAvatarElementSettingContextDelegate> _Nullable)delegate;
    - (NSArray<MobileRTCCustom3DAvatarElementImageInfo*> * _Nullable)getCustom3DAvatarElementImageList;
    - (MobileRTCSDKError)setCustom3DAvatarElementImage:(MobileRTCCustom3DAvatarElementImageInfo* _Nullable)imageInfo;
    - (BOOL)isCustom3DAvatarElementImageModelDataReady:(MobileRTCCustom3DAvatarElementImageInfo* _Nullable)imageInfo;
    - (MobileRTCSDKError)downloadCustom3dAvatarElementImageModelData:(MobileRTCCustom3DAvatarElementImageInfo* _Nullable)imageInfo;
    - (NSArray<MobileRTCCustom3DAvatarElementColorInfo*> * _Nullable)getCustom3DAvatarElementColorList;
    - (MobileRTCSDKError)setCustom3DAvatarElementColor:(MobileRTCCustom3DAvatarElementColorInfo* _Nullable)colorInfo;
    @end