浏览 SDKs · iOS
SDKsiOS

转让群主

使用 Objective-C API 将群主身份转让给另一名群成员。

复制

只有当前群主可以调用 transferGroupOwner:newOwner:onSuccess:onFailure:,目标用户必须是有效群成员。groupID 是目标群组 ID,newOwner 是新群主的用户 ID,两个参数均为不可空的 NSString *

[[OIMManager manager] transferGroupOwner:groupID
    newOwner:targetUserID
    onSuccess:^(NSString * _Nullable data) { [self showTransferCompleted]; }
    onFailure:^(NSInteger code, NSString *message) {
        [self showErrorCode:code message:message];
    }];

调用后的状态变化

成功 callback 表示 OpenIMServer 已完成转让:原群主变为普通成员,新群主获得群主角色。原群主和新群主的角色变化通过 onGroupMemberInfoChanged: 增量同步,一次转让可能产生两条成员变化,均按 groupID:userID 合并。

不要只依赖 delegate 的到达数量判断转让结果。需要显示当前群主和管理员时,调用 getGroupMemberOwnerAndAdmin:onSuccess:onFailure: 重新取得快照;完整 listener 和合并代码见查询群成员概览

群主需要退出群组时,必须先完成转让,再调用退出群组 selector。如果群组不再需要,群主也可以选择解散群组,但解散会影响所有成员,不能替代普通转让。