SDKsiOS
群组概览
了解 iOS SDK 中群资料、群成员、群申请、角色和群组事件的关系。
OpenIMSDK 的多人聊天使用群组承载共享资料、成员关系和权限。groupID 是群组稳定标识,发送群消息、读取群资料、管理成员和处理入群申请都使用它。聊天列表中的群会话仍由 conversationID 管理,两者不能混用。
核心数据类型
| 类型 | 用途 |
|---|---|
OIMGroupInfo | 群名称、头像、公告、群主、验证配置、成员数和扩展字段。 |
OIMGroupMemberInfo | 用户在指定群内的昵称、角色、禁言和入群信息。 |
OIMGroupApplicationInfo | 入群申请及处理状态。 |
群角色使用 OIMGroupMemberRole:普通成员为 OIMGroupMemberRoleMember(20),管理员为 OIMGroupMemberRoleAdmin(60),群主为 OIMGroupMemberRoleOwner(100)。前端可以据此控制入口,但最终权限由 OpenIMServer 校验。
群资料和生命周期
群成员和申请
群组管控
状态更新
本页是群资料、当前用户加入或退出以及群组解散事件的完整归属页:
- (void)startGroupEvents { [[OIMManager callbacker] addGroupListener:self]; }
- (void)stopGroupEvents { [[OIMManager callbacker] removeGroupListener:self]; }
- (void)onJoinedGroupAdded:(OIMGroupInfo *)group { [self upsertGroup:group]; }
- (void)onJoinedGroupDeleted:(OIMGroupInfo *)group { [self removeGroupID:group.groupID]; }
- (void)onGroupInfoChanged:(OIMGroupInfo *)group { [self upsertGroup:group]; }
- (void)onGroupDismissed:(OIMGroupInfo *)group { [self markDismissed:group.groupID]; }应用应强引用稳定的 OIMGroupListener 对象,并使用同一实例添加和移除。事件按 groupID 幂等合并;成功 callback、delegate 增量和重新查询校准应分别处理。
OpenIM iOS SDK 的群组 API 只处理 OpenIMSDK 群资料、成员关系和权限。公开发现、复杂目录和大规模群聊的容量治理属于业务后端与 OpenIMServer 配置,不应扩写成不存在的客户端群组类型。
这个页面有帮助吗?