feat: 自定义插件的更新

This commit is contained in:
zoujing
2026-05-10 14:55:18 +08:00
parent 9d7058bbe4
commit 83608316f4
256 changed files with 11644 additions and 3451 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,196 @@
//
// ZIMErrorCode.h
// ZIM
//
// Copyright © 2021 Zego. All rights reserved.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
/// The define of error code.
///
/// Description: Developers can find the details of the error code in the developer documentation website according to the error code.
///
/// Use cases: It can be used to collect and record errors in the process of using the SDK.
///
typedef NS_ENUM(NSUInteger, ZIMErrorCode) {
ZIMErrorCodeSuccess = 0,
ZIMErrorCodeFailed = 1,
ZIMErrorCodeCommonModuleParamsInvalid = 6000001,
ZIMErrorCodeCommonModuleEngineNotInit = 6000002,
ZIMErrorCodeCommonModuleInvalidAppID = 6000003,
ZIMErrorCodeCommonModuleTriggerSDKFrequencyLimit = 6000004,
ZIMErrorCodeCommonModuleTriggerServerFrequencyLimit = 6000005,
ZIMErrorCodeCommonModuleSwitchServerError = 6000006,
ZIMErrorCodeCommonModuleIMServerError = 6000007,
ZIMErrorCodeCommonModuleIMDataBaseError = 6000008,
ZIMErrorCodeCommonModuleImServerDisconnect = 6000009,
ZIMErrorCodeCommonModuleUploadLogError = 6000010,
ZIMErrorCodeCommonModuleUserIsNotExist = 6000011,
ZIMErrorCodeCommonModuleUserInfoQueriedLimit = 6000012,
ZIMErrorCodeCommonModuleUnsupportedRequest = 6000013,
ZIMErrorCodeCommonModuleExceedDAULimit = 6000015,
ZIMErrorCodeCommonModuleExceedMAULimit = 6000016,
ZIMErrorCodeNetworkModuleCommonError = 6000101,
ZIMErrorCodeNetworkModuleServerError = 6000102,
ZIMErrorCodeNetworkModuleTokenInvalid = 6000103,
ZIMErrorCodeNetworkModuleNetworkError = 6000104,
ZIMErrorCodeNetworkModuleRequestTimeout = 6000105,
ZIMErrorCodeNetworkModuleTokenExpired = 6000106,
ZIMErrorCodeNetworkModuleTokenVersionError = 6000107,
ZIMErrorCodeNetworkModuleTokenTimeIsTooShort = 6000108,
ZIMErrorCodeNetworkModuleUserHasAlreadyLogged = 6000111,
ZIMErrorCodeNetworkModuleUserIsNotLogged = 6000121,
ZIMErrorCodeNetworkModuleUserHasAlreadyLoggedOut = 6000122,
ZIMErrorCodeNetworkModuleUserOffline = 6000123,
ZIMErrorCodeNetworkModuleUserIDError = 6000124,
ZIMErrorCodeMessageModuleCommonError = 6000201,
ZIMErrorCodeMessageModuleServerError = 6000202,
ZIMErrorCodeMessageModuleSendMessageFailed = 6000203,
ZIMErrorCodeMessageModuleTargetDoseNotExist = 6000204,
ZIMErrorCodeMessageModuleFileError = 6000210,
ZIMErrorCodeMessageModuleFileNotExist = 6000211,
ZIMErrorCodeMessageModuleFileServerError = 6000212,
ZIMErrorCodeMessageModuleFileTypeUnsupported = 6000213,
ZIMErrorCodeMessageModuleFileSizeInvalid = 6000214,
ZIMErrorCodeMessageModuleFileDurationInvalid = 6000215,
ZIMErrorCodeMessageModuleFilePermissionDenied = 6000216,
ZIMErrorCodeMessageModuleFileDownloadFailed = 6000217,
ZIMErrorCodeMessageModuleFileDownloadLimit = 6000218,
ZIMErrorCodeMessageModuleFileDownloadUrlNotFound = 6000219,
ZIMErrorCodeMessageModuleFileDownloadHttpRequestServerError = 6000220,
ZIMErrorCodeMessageModuleAuditRejected = 6000221,
ZIMErrorCodeMessageModuleAuditFailed = 6000222,
ZIMErrorCodeMessageModuleAuditCustomSentRejected = 6000230,
ZIMErrorCodeMessageModuleMuted = 6000231,
ZIMErrorCodeMessageModuleCacheFileOpenFailed = 6000240,
ZIMErrorCodeMessageModuleCacheFileExportOrImportIsInProgressCurrently = 6000241,
ZIMErrorCodeMessageModuleCacheFileOnlyCanImportCacheOfOneself = 6000242,
ZIMErrorCodeMessageModuleCacheFileExportFailed = 6000243,
ZIMErrorCodeMessageModuleCacheFileImportFailed = 6000244,
ZimErrorCodeMessageModuleCacheFileJsonParseFailed = 6000245,
ZIMErrorCodeMessageModuleCallError = 6000270,
ZIMErrorCodeMessageModuleCancelCallError = 6000271,
ZIMErrorCodeMessageModuleCallServerError = 6000272,
ZIMErrorCodeMessageModuleIsNotInvitor = 6000273,
ZIMErrorCodeMessageModuleIsNotInvitee = 6000274,
ZIMErrorCodeMessageModuleCallAlreadyExists = 6000275,
ZIMErrorCodeMessageModuleCallDoseNotExist = 6000276,
ZIMErrorCodeMessageModuleReceiptReadError = 6000277,
ZIMErrorCodeMessageModuleMessageExceedsRevokeTime = 6000278,
ZIMErrorCodeMessageModuleMessageHasBeenRevoked = 6000279,
ZIMErrorCodeMessageModuleMessageReactionTypeExisted = 6000280,
ZIMErrorCodeMessageModuleCallInviteUserDoesNotExist = 6000281,
ZIMErrorCodeMessageModuleMessageReceiptLimit = 6000282,
ZIMErrorCodeMessageModuleUserAlreadyInTheCall = 6000283,
ZIMErrorCodeMessageModuleSenderInBlacklist = 6000284,
ZIMErrorCodeRoomModuleCommonError = 6000301,
ZIMErrorCodeRoomModuleServerError = 6000302,
ZIMErrorCodeRoomModuleCreateRoomError = 6000303,
ZIMErrorCodeRoomModuleJoinRoomError = 6000304,
ZIMErrorCodeRoomModuleLeaveRoomError = 6000306,
ZIMErrorCodeRoomModuleRoomMemberQueryFailed = 6000310,
ZIMErrorCodeRoomModuleRoomMemberQueryFailedCompletely = 6000311,
ZIMErrorCodeRoomModuleUserIsAlreadyInTheRoom = 6000320,
ZIMErrorCodeRoomModuleUserIsNotInTheRoom = 6000321,
ZIMErrorCodeRoomModuleTheRoomDoseNotExist = 6000322,
ZIMErrorCodeRoomModuleTheRoomAlreadyExists = 6000323,
ZIMErrorCodeRoomModuleTheNumberOfExistingRoomsHasReachedLimit = 6000324,
ZIMErrorCodeRoomModuleTheNumberOfJoinedRoomsHasReachedLimit = 6000325,
ZIMErrorCodeRoomModuleTheRoomIsConnecting = 6000326,
ZIMErrorCodeRoomModuleRoomAttributesCommonError = 6000330,
ZIMErrorCodeRoomModuleRoomAttributesOperationFailedCompletely = 6000331,
ZIMErrorCodeRoomModuleRoomAttributesOperationFailedPartly = 6000332,
ZIMErrorCodeRoomModuleRoomAttributesQueryFailed = 6000333,
ZIMErrorCodeRoomModuleTheNumberOfRoomAttributesExceedsLimit = 6000334,
ZIMErrorCodeRoomModuleTheLengthOfRoomAttributeKeyExceedsLimit = 6000335,
ZIMErrorCodeRoomModuleTheLengthOfRoomAttributeValueExceedsLimit = 6000336,
ZIMErrorCodeRoomModuleTheTotalLengthOfRoomAttributesValueExceedsLimit = 6000337,
ZIMErrorCodeRoomModuleRoomMemberAttributesCommonError = 6000350,
ZIMErrorCodeRoomModuleTheTotalLengthOfRoomMemberAttributesExceedsLimit = 6000351,
ZIMErrorCodeRoomModuleTheLengthOfRoomMemberAttributesKeyExceedsLimit = 6000352,
ZIMErrorCodeRoomModuleTheLengthOfRoomMemberAttributesValueExceedsLimit = 6000353,
ZIMErrorCodeRoomModuleTheMemberNumberOfRoomMemberAttributesExceedsLimit = 6000357,
ZIMErrorCodeZPNSModulePushIDInvalid = 6000401,
ZIMErrorCodeGroupModuleCommonError = 6000501,
ZIMErrorCodeGroupModuleServerError = 6000502,
ZIMErrorCodeGroupModuleCreateGroupError = 6000503,
ZIMErrorCodeGroupModuleDismissGroupError = 6000504,
ZIMErrorCodeGroupModuleJoinGroupError = 6000505,
ZIMErrorCodeGroupModuleLeaveGroupError = 6000506,
ZIMErrorCodeGroupModuleKickoutGroupMemberError = 6000507,
ZIMErrorCodeGroupModuleInviteUserIntoGroupError = 6000508,
ZIMErrorCodeGroupModuleTransferOwnerError = 6000509,
ZIMErrorCodeGroupModuleUpdateGroupInfoError = 6000510,
ZIMErrorCodeGroupModuleQueryGroupInfoError = 6000511,
ZIMErrorCodeGroupModuleGroupAttributesOperationFailed = 6000512,
ZIMErrorCodeGroupModuleGroupAttributesQueryFailed = 6000513,
ZIMErrorCodeGroupModuleUpdateGroupMemberInfoError = 6000514,
ZIMErrorCodeGroupModuleQueryGroupMemberInfoError = 6000515,
ZIMErrorCodeGroupModuleQueryGroupListError = 6000516,
ZIMErrorCodeGroupModuleQueryGroupMemberListError = 6000517,
ZIMErrorCodeGroupModuleUserIsNotInTheGroup = 6000521,
ZIMErrorCodeGroupModuleMemberIsAlreadyInTheGroup = 6000522,
ZIMErrorCodeGroupModuleGroupDoseNotExist = 6000523,
ZIMErrorCodeGroupModuleGroupAlreadyExists = 6000524,
ZIMErrorCodeGroupModuleGroupMemberHasReachedLimit = 6000525,
ZIMErrorCodeGroupModuleGroupAttributeDoseNotExist = 6000526,
ZIMErrorCodeGroupModuleGroupWithDismissed = 6000527,
ZIMErrorCodeGroupModuleTheNumberOfGroupAttributesExceedsLimit = 6000531,
ZIMErrorCodeGroupModuleTheLengthOfGroupAttributeKeyExceedsLimit = 6000532,
ZIMErrorCodeGroupModuleTheLengthOfGroupAttributeValueExceedsLimit = 6000533,
ZIMErrorCodeGroupModuleTheTotalLengthOfGroupAttributeValueExceedsLimit = 6000534,
ZIMErrorCodeGroupModuleNoCorrespondingOperationAuthority = 6000541,
ZIMErrorCodeGroupModuleGroupDataBaseError = 6000542,
ZIMErrorCodeConversationModuleCommonError = 6000601,
ZIMErrorCodeConversationModuleServerError = 6000602,
ZIMErrorCodeConversationModuleConversationDoseNotExist = 6000603,
ZIMErrorCodeConversationModuleConversationPinnedListReachedLimit = 6000604,
ZIMErrorCodeDataBaseModuleOpenDataBaseError = 6000701,
ZIMErrorCodeDataBaseModuleModifyDataBaseError = 6000702,
ZIMErrorCodeDataBaseModuleDeleteDataBaseError = 6000703,
ZIMErrorCodeDataBaseModuleSeleteDataBaseError = 6000704,
// 好友关系链模块错误码
ZIMErrorCodeFriendModuleFriendsNumLimit = 6000801,
// 同意或者拒绝好友申请状态错误
ZIMErrorCodeFriendModuleFriend_application_status_error = 6000802,
// 对方已经是好友
ZIMErrorCodeFriendModuleIsAlreadyYourFriend = 6000803,
// 已经在黑名单内
ZIMErrorCodeFriendModuleAlreadyAddToBlacklist = 6000804,
// 不能添加自己到黑名单
ZIMErrorCodeFriendModuleCannotAddSelfToBlacklist = 6000805,
// 已经从黑名单中删除
ZIMErrorCodeFriendModuleAlreadyDeleteFromBlacklist = 6000806,
// 该用户不在黑名单里
ZIMErrorCodeFriendModuleUserNotInBlacklist = 6000807,
// 黑名单限制
ZIMErrorCodeFriendModuleBlacklistListQuantityLimit = 6000808,
// 好友列表超出限制
ZIMErrorCodeFriendModuleFriendOperationLimitExceeded = 6000809,
// 不允许添加自己
ZIMErrorCodeFriendModuleCannotAddSelfToFriendList = 6000810,
// 该好友没注册
ZIMErrorCodeFriendModuleFriendAreUnregistered = 6000811,
// 不是你的好友
ZIMErrorCodeFriendModuleNotYourFriend = 6000812,
// 不允许删除自己
ZIMErrorCodeFriendModuleCannotDeleteSelf = 6000813,
// 申请已经过期
ZIMErrorCodeFriendModuleFriendApplicationExpired = 6000814,
ZIMErrorCodeFriendModuleAddBlacklistFail = 6000815,
ZIMErrorCodeFriendModuleDelBlacklistFail = 6000816,
};
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,632 @@
//
// ZIMEventHandler.h
// ZIM
//
// Copyright © 2021 Zego. All rights reserved.
//
#import "ZIMDefines.h"
@class ZIM;
NS_ASSUME_NONNULL_BEGIN
/// Callback.
///
@protocol ZIMEventHandler <NSObject>
@optional
/// The event callback when the connection state changes.
///
/// @param zim ZIM instance.
/// @param state The current connection state after changed.
/// @param event The event that caused the connection state to change.
/// @param extendedData Extra information when the event occurs, a standard JSON format data.
- (void)zim:(ZIM *)zim
connectionStateChanged:(ZIMConnectionState)state
event:(ZIMConnectionEvent)event
extendedData:(NSDictionary *)extendedData;
// MARK: - Main
/// The callback for error information.
///
/// When an exception occurs in the SDK, the callback will prompt detailed information.
///
/// @param zim ZIM instance.
/// @param errorInfo Error information, please refer to the error codes document.
- (void)zim:(ZIM *)zim errorInfo:(ZIMError *)errorInfo;
/// A reminder callback that the token is about to expire.
///
/// @param zim ZIM instance.
/// @param second The remaining second before the token expires.
- (void)zim:(ZIM *)zim tokenWillExpire:(unsigned int)second;
- (void)zim:(ZIM *)zim userInfoUpdated:(ZIMUserFullInfo *)info;
- (void)zim:(ZIM *)zim userRuleUpdated:(ZIMUserRule *)userRule;
- (void)zim:(ZIM *)zim userStatusUpdated:(NSArray<ZIMUserStatus *> *)userStatusList;
// MARK: - Conversation
- (void)zim:(ZIM *)zim
conversationChanged:(NSArray<ZIMConversationChangeInfo *> *)conversationChangeInfoList;
- (void)zim:(ZIM *)zim
conversationTotalUnreadMessageCountUpdated:(unsigned int)totalUnreadMessageCount;
/// Received notification callback when the message receiver has read this receipt message.
///
/// Available since: 2.5.0 and above.
///
/// Description: When the message receiver has read the session, the message sender knows through this callback.
///
/// When to call /Trigger: Trigger a notification when the message receiver has read the session.
///
/// Related APIs: triggered when the peer calls via [sendConversationMessageReceiptRead].
/// @param zim ZIM instance.
/// @param infos Receipt information.
- (void)zim:(ZIM *)zim conversationMessageReceiptChanged:(NSArray<ZIMMessageReceiptInfo *> *)infos;
///Available since: 2.12.0 and above.
///
///Description: When multiple login ends delete all sessions, the local end triggers the callback to notify the local end that all sessions are deleted.
///
///When to call /Trigger: When another end clears all unread sessions, the local end triggers a notification.
///
///Related APIs: Triggered by [deleteAllConversations].
- (void)zim:(ZIM *)zim conversationsAllDeleted:(ZIMConversationsAllDeletedInfo *)info;
// MARK: - Message
/// The callback for receiving peer-to-peer message.
///
/// When receiving peer-to-peer message from other user, you will receive this callback.
///
/// @param zim ZIM instance.
/// @param messageList List of received messages.
/// @param fromUserID The user ID of the message sender.
- (void)zim:(ZIM *)zim
receivePeerMessage:(NSArray<ZIMMessage *> *)messageList
fromUserID:(NSString *)fromUserID
DEPRECATED_MSG_ATTRIBUTE("Deprecated since ZIM 2.18.0, please use "
"[zim:peerMessageReceived:info:fromUserID:] instead.");
- (void)zim:(ZIM *)zim
peerMessageReceived:(NSArray<ZIMMessage *> *)messageList
info:(ZIMMessageReceivedInfo *)info
fromUserID:(NSString *)fromUserID;
/// The callback for receiving room message.
///
/// This callback will be triggered when new message is received in a room.
///
/// @param zim ZIM instance.
/// @param messageList List of received messages.
/// @param fromRoomID ID of the room where the message was received.
- (void)zim:(ZIM *)zim
receiveRoomMessage:(NSArray<ZIMMessage *> *)messageList
fromRoomID:(NSString *)fromRoomID
DEPRECATED_MSG_ATTRIBUTE("Deprecated since ZIM 2.18.0, please use "
"[zim:roomMessageReceived:info:fromUserID:] instead.");
- (void)zim:(ZIM *)zim
roomMessageReceived:(NSArray<ZIMMessage *> *)messageList
info:(ZIMMessageReceivedInfo *)info
fromRoomID:(NSString *)fromRoomID;
- (void)zim:(ZIM *)zim
receiveGroupMessage:(NSArray<ZIMMessage *> *)messageList
fromGroupID:(NSString *)fromGroupID
DEPRECATED_MSG_ATTRIBUTE("Deprecated since ZIM 2.18.0, please use "
"[zim:groupMessageReceived:info:fromUserID:] instead.");
- (void)zim:(ZIM *)zim
groupMessageReceived:(NSArray<ZIMMessage *> *)messageList
info:(ZIMMessageReceivedInfo *)info
fromGroupID:(NSString *)fromGroupID;
/// Received notification callback when some one else sends a message and then revoke a message sent by themselves.
///
/// Available since: 2.5.0 and above.
///
/// Description: This callback is received when some one else sends a message and then revoke.
///
/// When to call /Trigger: This callback occurs when a ZIM instance is created with [create] and the other user revoke a message.
///
/// Related APIs: You can revoke message to other members via [revokeMessage].
/// @param zim ZIM instance.
/// @param messageList List of received messages..
- (void)zim:(ZIM *)zim messageRevokeReceived:(NSArray<ZIMRevokeMessage *> *)messageList;
/// Supported version: 2.10.0 or later.
///
/// Description: The callback is received when the server interface [SendMessageToAllUsers] sends a message.
///
/// Call time: This callback is received after logging in to the ZIM service and the server call the [SendMessageToAllUsers] interface to send a message.
/// @param zim ZIM instance.
/// @param message Received message..
- (void)zim:(ZIM *)zim broadcastMessageReceived:(ZIMMessage *)message;
- (void)zim:(ZIM *)zim messageDeleted:(ZIMMessageDeletedInfo *)deletedInfo;
/// Received notification callback when the message receiver confirms that the message has been read.
///
/// Available since: 2.5.0 and above.
///
/// Description: When the message receiver confirms that the message has been read, the message sender knows through this callback.
///
/// When to call /Trigger: Trigger a notification when the message receiver has read the message.
///
/// Related APIs: Triggered when the peer calls via [sendMessageReceiptsRead].
/// @param zim ZIM instance.
/// @param infos Receipt information.
- (void)zim:(ZIM *)zim messageReceiptChanged:(NSArray<ZIMMessageReceiptInfo *> *)infos;
- (void)zim:(ZIM *)zim
messageSentStatusChanged:
(NSArray<ZIMMessageSentStatusChangeInfo *> *)messageSentStatusChangeInfoList;
/// Supported version: 2.10.0 or later.
/// Description: The callback is received when reactions change
///
/// When to Call: This callback can be registered after the ZIM instance is created by [create] and before login.
///
/// When to Trigger: After other users add or delete reactions to messages in private or group chats.
///
/// Related APIs: [addMessageReaction]、[deleteMessageReaction]
/// @param zim ZIM instance.
/// @param reactions The list of changed reactions.
- (void)zim:(ZIM *)zim messageReactionsChanged:(NSArray<ZIMMessageReaction *> *)reactions;
- (void)zim:(ZIM *)zim messageRepliedInfoChanged:(NSArray<ZIMMessage *> *)messageList;
- (void)zim:(ZIM *)zim
messageRepliedCountChanged:(NSArray<ZIMMessageRootRepliedCountInfo *> *)infos;
// MARK: - Room
/// Callback when other members join the room.
///
/// Available since: 1.1.0 or above.
///
/// Description: After joining a room, when other members also join this room, they will receive this callback.
///
/// Use cases:When other members in the room join, this callback will be called.
///
/// When to call: After creating a ZIM instance through [create], and the user is in a room joined by other members, you can call this interface.
///
/// Caution: If the user is not currently in this room, this callback will not be called.
///
/// Related APIs: You can use [roomMemberLeft] to receive this callback when other room members leave.
///
/// @param zim ZIM instance.
/// @param memberList List of members who joined the room.
/// @param roomID The ID of the room where this event occurred.
- (void)zim:(ZIM *)zim
roomMemberJoined:(NSArray<ZIMUserInfo *> *)memberList
roomID:(NSString *)roomID;
/// Callback when other members leave the room.
///
/// Available since: 1.1.0 or above.
///
/// Description: After joining a room, when other members leave the room, they will receive this callback.
///
/// Use cases: When other members in the room leave the room, this callback will be called.
///
/// When to call: After creating a ZIM instance through [create], and the user is in the same room of other members, you can call this interface.
///
/// Caution:If the user is not currently in this room, this callback will not be called.
///
/// Related APIs: You can receive this callback when other room members join through [roomMemberJoined].
///
/// @param zim ZIM instance.
/// @param memberList List of members who left the room.
/// @param roomID The ID of the room where this event occurred.
- (void)zim:(ZIM *)zim
roomMemberLeft:(NSArray<ZIMUserInfo *> *)memberList
roomID:(NSString *)roomID;
/// event callback when the room connection status changes.
///
/// Available since: 1.1.0 or above.
///
/// Description:event callback when the room connection status changes.
///
/// When to call::After creating a ZIM instance through [create], you can call this interface.
///
/// Related APIs:through [tokenWillExpire], the callback will be received when the token is about to expire.
///
/// @param zim ZIM instance.
/// @param state The current room connection state after changed.
/// @param event The event that caused the room connection state to change.
/// @param extendedData Extra information when the event occurs, a standard JSON string.
- (void)zim:(ZIM *)zim
roomStateChanged:(ZIMRoomState)state
event:(ZIMRoomEvent)event
extendedData:(NSDictionary *)extendedData
roomID:(NSString *)roomID;
/// event callback when the room attributes changes.
///
/// Available since: 1.3.0.
///
/// Description:When the room attribute in the room changes, it will be notified through this callback.
///
/// @param zim ZIM instance.
/// @param updateInfo The info of the room attributes changed.
/// @param roomID The ID of the room where this event occurred.
- (void)zim:(ZIM *)zim
roomAttributesUpdated:(ZIMRoomAttributesUpdateInfo *)updateInfo
roomID:(NSString *)roomID;
/// event callback when the room attributes changes.
///
/// Available since: 1.3.0.
///
/// Description:When the room attribute in the room changes, it will be notified through this callback.
///
/// @param zim ZIM instance.
/// @param updateInfo The infos of the room attributes changed.
/// @param roomID The ID of the room where this event occurred.
- (void)zim:(ZIM *)zim
roomAttributesBatchUpdated:(NSArray<ZIMRoomAttributesUpdateInfo *> *)updateInfo
roomID:(NSString *)roomID;
/// event callback when room user property update.
///
/// Available since: 2.4.0.
///
/// Description: This callback will be received when a user's property in the room is changed.
///
/// @param zim ZIM instance.
/// @param infos The infos of the room member attributes changed.
/// @param operatedInfo Room operation information.
/// @param roomID Room ID.
- (void)zim:(ZIM *)zim
roomMemberAttributesUpdated:(NSArray<ZIMRoomMemberAttributesUpdateInfo *> *)infos
operatedInfo:(ZIMRoomOperatedInfo *)operatedInfo
roomID:(NSString *)roomID;
// MARK: - Group
/// Description: allback notification of group status change.
///
/// Use cases: Scenarios that require interaction based on the group status.
///
/// When to call /Trigger: A notification is triggered when a group is created, joined, left, or dismissed.
///
/// Related APIs: [createGroup] : creates a group. [joinGroup] : joins a group. [leaveGroup], leave the group. [dismissGroup]; dismiss the group.
///
/// @param zim ZIM instance.
/// @param state The status of the group after the change.
/// @param event Group related events.
/// @param operatedInfo Group information that has been operated.
/// @param groupInfo The groupInfowhere the group state change occurred.
- (void)zim:(ZIM *)zim
groupStateChanged:(ZIMGroupState)state
event:(ZIMGroupEvent)event
operatedInfo:(ZIMGroupOperatedInfo *)operatedInfo
groupInfo:(ZIMGroupFullInfo *)groupInfo;
/// Description: Group name change notification callback.
///
/// Use cases: If the group name is changed, you need to synchronize the latest group name.
///
/// When to call /Trigger: The group name is changed. Procedure
///
/// Related APIs: [updateGroupName] : updates the group name.
///
///
/// @param zim ZIM instance.
/// @param groupName The updated group name.
/// @param operatedInfo Operation information after the group name is updated.
/// @param groupID The groupID where the group name update occurred.
- (void)zim:(ZIM *)zim
groupNameUpdated:(NSString *)groupName
operatedInfo:(ZIMGroupOperatedInfo *)operatedInfo
groupID:(NSString *)groupID;
- (void)zim:(ZIM *)zim
groupAvatarUrlUpdated:(NSString *)groupAvatarUrl
operatedInfo:(ZIMGroupOperatedInfo *)operatedInfo
groupID:(NSString *)groupID;
- (void)zim:(ZIM *)zim
groupAliasUpdated:(NSString *)groupAlias
operatedUserID:(NSString *)operatedUserID
groupID:(NSString *)groupID;
/// Description: Group bulletin Change notification callback.
///
/// Use cases: If a group bulletin changes, you need to synchronize the latest bulletin content.
///
/// When to call /Trigger: The group bulletin is changed. Procedure
///
/// Related APIs: [updateGroupNotice], which updates the group notice.
///
/// @param zim ZIM instance.
/// @param groupNotice Updated group announcement.
/// @param operatedInfo The group announces the updated operation information.
/// @param groupID The groupID where the group announcement update occurred.
- (void)zim:(ZIM *)zim
groupNoticeUpdated:(NSString *)groupNotice
operatedInfo:(ZIMGroupOperatedInfo *)operatedInfo
groupID:(NSString *)groupID;
- (void)zim:(ZIM *)zim
groupMutedInfoUpdated:(ZIMGroupMuteInfo *)muteInfo
operatedInfo:(ZIMGroupOperatedInfo *)operatedInfo
groupID:(NSString *)groupID;
- (void)zim:(ZIM *)zim
groupVerifyInfoUpdated:(ZIMGroupVerifyInfo *)verifyInfo
operatedInfo:(ZIMGroupOperatedInfo *)operatedInfo
groupID:(NSString *)groupID;
/// Description: Group attribute change notification callback.
///
/// Use cases: When group attributes are changed, you need to synchronize the latest group attributes.
///
/// When to call /Trigger: Triggered when group properties are set, updated, or deleted.
///
/// Impacts on other APIs: [setGroupAttributes] updates group attributes. [deleteGroupAttributes], delete the group attribute.
///
/// @param zim ZIM instance.
/// @param operatedInfo Operation information after the group attribute is updated.
/// @param updateInfo Information after group attribute update.
/// @param groupID The groupID for sending group attribute updates.
- (void)zim:(ZIM *)zim
groupAttributesUpdated:(NSArray<ZIMGroupAttributesUpdateInfo *> *)updateInfo
operatedInfo:(ZIMGroupOperatedInfo *)operatedInfo
groupID:(NSString *)groupID;
/// Description: Group member status change notification callback.
///
/// Use cases: Scenarios that require interaction based on group member states.
///
/// When to call /Trigger: Notification is triggered when a group is created, joined, left, or dismissed, or a user is invited to join or kicked out of the group.
///
/// Related APIs: [createGroup] : creates a group. [joinGroup] : joins a group. [leaveGroup], leave the group. [dismissGroup]; dismiss the group. [intiveUsersIntoGroup], which invites users to join the group. [kickoutGroupMember] kicks the user out of the group.
///
///
/// @param zim ZIM instance.
/// @param state Updated membership status.
/// @param event Updated member events.
/// @param userList Updated member information.
/// @param operatedInfo Updated operational information.
/// @param groupID The groupID where the member state change occurred.
- (void)zim:(ZIM *)zim
groupMemberStateChanged:(ZIMGroupMemberState)state
event:(ZIMGroupMemberEvent)event
userList:(NSArray<ZIMGroupMemberInfo *> *)userList
operatedInfo:(ZIMGroupOperatedInfo *)operatedInfo
groupID:(NSString *)groupID;
/// Description: Return the operation result of changing group member information.
///
/// Use cases: After the basic information of group members is changed, you need to display or interact with group members on the page.
///
/// When to call /Trigger: The result is displayed after the group member information is changed.
///
/// Related APIs: [setGroupMemberNickname] : updates the nickname of a group member. [setGroupMemberRole] : updates the group member role. [transferGroupOwner], group master transfer.
///
///
/// @param zim ZIM instance.
/// @param operatedInfo Updated member information.
/// @param userInfo userInfo.
/// @param groupID groupID.
- (void)zim:(ZIM *)zim
groupMemberInfoUpdated:(NSArray<ZIMGroupMemberInfo *> *)userInfo
operatedInfo:(ZIMGroupOperatedInfo *)operatedInfo
groupID:(NSString *)groupID;
- (void)zim:(ZIM *)zim
groupApplicationListChanged:(NSArray<ZIMGroupApplicationInfo *> *)applicationList
action:(ZIMGroupApplicationListChangeAction)action;
- (void)zim:(ZIM *)zim
groupApplicationUpdated:(NSArray<ZIMGroupApplicationInfo *> *)applicationList;
// MARK: - CallList
/// Supported versions: 2.0.0 and above.
///
/// Detail description: After the inviter initiates a call invitation, the invitee will receive this callback when the invitee is online.
///
/// Business scenario: The invitee will call this callback after the inviter sends a call invitation.
///
/// When to call: After creating a ZIM instance through [create].
///
/// Note: If the user is not in the invitation list or not online, this callback will not be called.
///
/// Related interface: [callInvite].
///
/// @param zim ZIM instance.
/// @param info Information about received call invitations.
/// @param callID Received CallID.
- (void)zim:(ZIM *)zim
callInvitationReceived:(ZIMCallInvitationReceivedInfo *)info
callID:(NSString *)callID;
- (void)zim:(ZIM *)zim
callInvitationCreated:(ZIMCallInvitationCreatedInfo *)info
callID:(NSString *)callID;
/// Supported versions: 2.0.0 and above.
///
/// Detail description: After the inviter cancels the call invitation, this callback will be received when the invitee is online.
///
/// Business scenario: The invitee will call this callback after the inviter cancels the call invitation.
///
/// When to call: After creating a ZIM instance through [create].
///
/// Note: If the user is not in the cancel invitation list or is offline, this callback will not be called.
///
/// Related interface: [callCancel].
///
///
/// @param zim ZIM instance.
/// @param info Information about canceled call invitations.
/// @param callID Cancelled callID.
- (void)zim:(ZIM *)zim
callInvitationCancelled:(ZIMCallInvitationCancelledInfo *)info
callID:(NSString *)callID;
/// Supported versions: 2.0.0 and above.
///
/// Detail description: After the invitee accepts the call invitation, this callback will be received when the inviter is online.
///
/// Business scenario: The inviter will receive this callback after the inviter accepts the call invitation.
///
/// When to call: After creating a ZIM instance through [create].
///
/// Note: This callback will not be called if the user is not online.
///
/// Related interface: [callAccept].
///
///
/// @param zim ZIM instance.
/// @param info Information about the call invitations.
/// @param callID callID.
- (void)zim:(ZIM *)zim
callInvitationAccepted:(ZIMCallInvitationAcceptedInfo *)info
callID:(NSString *)callID
DEPRECATED_MSG_ATTRIBUTE(
"Deprecated since ZIM 2.9.0, please use [zim:callUserStateChanged:] instead.");
/// Available since: 2.0.0 and above.
///
/// Description: This callback will be received when the inviter is online after the inviter rejects the call invitation.
///
/// Use cases: The inviter will receive this callback after the inviter declines the call invitation.
///
/// Default value: After creating a ZIM instance through [create] and logging in.
///
/// When to call /Trigger: After creating a ZIM instance through [create] and logging in.
///
/// Restrictions: If the user is not the inviter of the call invitation or is not online, the callback will not be received.
///
/// Related APIs:[callReject].
/// @param zim ZIM instance.
/// @param info Information about the call invitations.
/// @param callID callID.
- (void)zim:(ZIM *)zim
callInvitationRejected:(ZIMCallInvitationRejectedInfo *)info
callID:(NSString *)callID
DEPRECATED_MSG_ATTRIBUTE(
"Deprecated since ZIM 2.9.0, please use [zim:callUserStateChanged:] instead.");
/// Supported versions: 2.9.0 and above.
///
/// Detail description: In an advanced call, a participant ends the call, and all participants will receive this callback.
///
/// Note: If the user is not the inviter who initiated this call invitation or is not online, the callback will not be received.
///
/// Related APIs: [callEnd]
///
/// @param zim ZIM instance.
/// @param info Information carried by the event callback.
/// @param callID Timeout invitee ID.
- (void)zim:(ZIM *)zim
callInvitationEnded:(ZIMCallInvitationEndedInfo *)info
callID:(NSString *)callID;
/// Available since: 2.0.0 and above.
///
/// Description: This callback will be received when the inviter is online after the inviter rejects the call invitation.
///
/// Use cases: The inviter will receive this callback after the inviter declines the call invitation.
///
/// Default value: After creating a ZIM instance through [create] and logging in.
///
/// When to call /Trigger: After creating a ZIM instance through [create] and logging in.
///
/// Restrictions: If the user is not the inviter of the call invitation or is not online, the callback will not be received.
///
/// Related APIs:[callReject].
/// @param zim ZIM instance.
/// @param callID callID.
- (void)zim:(ZIM *)zim
callInvitationTimeout:(NSString *)callID
DEPRECATED_MSG_ATTRIBUTE(
"Deprecated since ZIM 2.9.0, please use [zim:callInvitationTimeout:callID:] instead.");
/// Available since: 2.0.0 and above.
///
/// Description: This callback will be received when the inviter is online after the inviter rejects the call invitation.
///
/// Use cases: The inviter will receive this callback after the inviter declines the call invitation.
///
/// Default value: After creating a ZIM instance through [create] and logging in.
///
/// When to call /Trigger: After creating a ZIM instance through [create] and logging in.
///
/// Restrictions: If the user is not the inviter of the call invitation or is not online, the callback will not be received.
///
/// Related APIs:[callReject].
/// @param zim ZIM instance.
/// @param info Information about the status change of a call member.
/// @param callID callID.
- (void)zim:(ZIM *)zim
callInvitationTimeout:(ZIMCallInvitationTimeoutInfo *)info
callID:(NSString *)callID;
/// Supported versions: 2.0.0 and above.
///
/// Detail description: When the call invitation times out, the invitee does not respond, and the inviter will receive a callback.
///
/// Business scenario: The invitee does not respond before the timeout period, and the inviter will receive this callback.
///
/// When to call: After creating a ZIM instance through [create].
///
/// Note: If the user is not the inviter who initiated this call invitation or is not online, the callback will not be received.
///
/// Related interfaces: [callInvite], [callAccept], [callReject].
///
/// @param zim ZIM instance.
/// @param invitees Timeout invitee ID.
/// @param callID callID.
- (void)zim:(ZIM *)zim
callInviteesAnsweredTimeout:(NSArray<NSString *> *)invitees
callID:(NSString *)callID
DEPRECATED_MSG_ATTRIBUTE(
"Deprecated since ZIM 2.9.0, please use [zim:callUserStateChanged:] instead.");
/// Supported versions: 2.9.0 and above.
///
/// Detail description: Listen for calling user status changes.
///
/// When to call: After the call invitation is initiated, the calling member accepts, rejects, or exits, or the response times out, the current calling inviting member receives this callback.
///
/// Note: If the user is not the inviter who initiated this call invitation or is not online, the callback will not be received.
///
/// Related APIs: [callInvite], [callingInvite], [callAccept], [callReject],[callQuit].
///
/// @param zim ZIM instance.
/// @param info Information about the status change of a call member.
/// @param callID Unique identifier of the call.
- (void)zim:(ZIM *)zim
callUserStateChanged:(ZIMCallUserStateChangeInfo *)info
callID:(NSString *)callID;
- (void)zim:(ZIM *)zim
blacklistChanged:(NSArray<ZIMUserInfo *> *)userList
action:(ZIMBlacklistChangeAction)action;
- (void)zim:(ZIM *)zim friendInfoUpdated:(NSArray<ZIMFriendInfo *> *)friendInfoList;
- (void)zim:(ZIM *)zim
friendListChanged:(NSArray<ZIMFriendInfo *> *)friendInfoList
action:(ZIMFriendListChangeAction)action;
- (void)zim:(ZIM *)zim
friendApplicationUpdated:(NSArray<ZIMFriendApplicationInfo *> *)friendApplicationInfoList;
- (void)zim:(ZIM *)zim
friendApplicationListChanged:(NSArray<ZIMFriendApplicationInfo *> *)friendApplicationInfoList
action:(ZIMFriendApplicationListChangeAction)action;
@end
NS_ASSUME_NONNULL_END

Binary file not shown.

View File

@@ -0,0 +1,6 @@
framework module ZIM {
umbrella header "ZIM.h"
export *
module * { export * }
}

View File

@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSPrivacyTracking</key>
<false/>
<key>NSPrivacyCollectedDataTypes</key>
<array/>
<key>NSPrivacyTrackingDomains</key>
<array/>
<key>NSPrivacyAccessedAPITypes</key>
<array>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryFileTimestamp</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>C617.1</string>
</array>
</dict>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategorySystemBootTime</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>35F9.1</string>
</array>
</dict>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryDiskSpace</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>E174.1</string>
</array>
</dict>
</array>
</dict>
</plist>

BIN
Libs/ZIM.framework/ZIM Executable file

Binary file not shown.