美文网首页
iOS 环信添加好友,如何默认自动添加,不用手动点击同意

iOS 环信添加好友,如何默认自动添加,不用手动点击同意

作者: 宏炜 | 来源:发表于2019-11-18 11:32 被阅读0次

我集成的环信sdk版本是3.6.1,截止到目前是最新的版本。安卓sdk添加好友功能默认自动添加,而iOS需要手动去添加。下面给出解决方法

第一步:遵循添加好友代理

@interface ContactsViewController ()<EMContactManagerDelegate>

第二步:注册添加好友的代理

- (void)viewDidLoad {
    [super viewDidLoad];
    //注册好友回调
   [[EMClient sharedClient].contactManager addDelegate:self         delegateQueue:nil];
}

第三步:执行添加好友的方法

- (void)viewDidLoad {
    [super viewDidLoad];

   //添加好友
    [[EMClient sharedClient].contactManager   addContact:@"test" message:nil completion:^(NSString  *aUsername, EMError *aError) {
        if (aError) {
            [EMAlertController showErrorAlert:@"添加失败"];
        } else {
            [EMAlertController showSuccessAlert:@"已发出好友申请"];
        }
    }];
}

第四步: 监听回调,执行代理方法

/*!
 *  用户A发送加用户B为好友的申请,用户B会收到这个回调
 *
 *  @param aUsername   用户名
 *  @param aMessage    附属信息
 */
- (void)friendRequestDidReceiveFromUser:(NSString *)aUsername
                                message:(NSString *)aMessage{
    EMError *error = [[EMClient sharedClient].contactManager acceptInvitationForUsername:aUsername];
    if (!error) {
        [EMAlertController showSuccessAlert:@"同意添加"];
    }
}

当用户A发送加用户B为好友的申请,用户B会收到第四步的回调,我们在第四步直接调用同意添加的方法即可,至于是否弹出提示,按照产品需求来即可。

注意:有童鞋可能遇到过遵循了代理,也注册了监听,也执行了添加好友的方法,但 friendRequestDidReceiveFromUser 代理方法不执行,这种情况是因为添加好友addContact的方法写在了注册好友回调之后,所以代理方法不执行。一定要先注册,再执行添加好友的方法,按上面顺序来即可。

如有问题,请在下方留言沟通。

相关文章

网友评论

      本文标题:iOS 环信添加好友,如何默认自动添加,不用手动点击同意

      本文链接:https://www.haomeiwen.com/subject/ibpvictx.html