切换账号登录提示Already logged in

1. 使用账号A进行登录,登录成功
2. 程序里做了注销登录操作
[[EaseMob sharedInstance].chatManager asyncLogoffWithUnbindDeviceToken:YES completion:^(NSDictionary *info, EMError *error) {

                    //退出操作,切换到登录界面

                } onQueue:nil];
3. 切换到登录界面后,使用账号B进行登录,仔细看过用户名和密码,对比账号A可以保证二者是不同的,截取error如下
EMChatManager+Login::loginWithUsername:password:error: -- error:Already logged in.
共8个回复

Half12345

2015-10-08 15:30

在你退出登陆的接口部分断点看下,看下有没有error,退出成功了没。要保证退出成功了,才能再次去调用登陆接口的。对照demo看下。

王通

2015-10-08 15:36

恩,确实是,我理解错误里,以为只有退出成功才会执行block里的方法。 这里我断点跟了下,测到的error是网络连接已中断。errorcode为0。我对比了下demo,执行的方法和我的是一致的 - (void)asyncLogoffWithUnbindDeviceToken:(BOOL)isUnbind completion:(void (^)(NSDictionary *info, EMError *error))completion onQueue:(dispatch_queue_t)aQueue; 何解?

王通

2015-10-08 15:53

退出登录方法,测到的error是网络连接已中断。errorcode为0。我对比了下demo,执行的方法和我的是一致的 - (void)asyncLogoffWithUnbindDeviceToken:(BOOL)isUnbind completion:(void (^)(NSDictionary *info, EMError *error))completion onQueue:(dispatch_queue_t)aQueue;

Half12345

2015-10-08 16:12

你网络状况怎么样呀?退出登陆的时候,解绑deveicetoken是需要网络的。如果网络状况不好或者没网就会退出失败。

王通

2015-10-08 16:20

网络相当好

王通

2015-10-08 16:24

我觉得问题不在网络这边,登录获取数据都是可以的,只在退出登录的时候出现这个问题 假如这里我覆盖登录,会不会影响到设备推送以及手法消息?

Half12345

2015-10-08 16:26

1、你现在是每次退出登陆,然后再去调用登陆接口登陆都不行么?必现的是么? 2、什么版本sdk,demo会这样么?      打印版本号: NSLog(@"打印iOS环信SDK版本号:%@",[EaseMob sharedInstance].sdkVersion); 3、[[EaseMob sharedInstance].chatManager asyncLogoffWithUnbindDeviceToken:YES completion:^(NSDictionary *info, EMError *error) {                     //退出操作,切换到登录界面                 } onQueue:nil]; 打印下errorcode和errordescription看看,贴出来。

王通

2015-10-08 16:38

1. 必现 2. 版本号为2.1.9 3. errorcode 0   errordescription 网络连接已中断

Half12345

2015-10-08 16:54

我觉得问题不在网络这边,登录获取数据都是可以的,只在退出登录的时候出现这个问题 假如这里我覆盖登录,会不会影响到设备推送以及手法消息?  ---------你说的覆盖登陆是指什么呢?环信这边,必须调用了退出登陆的接口,退出成功了,才能再次调用登陆接口去执行登陆的。你试下demo看看可不可以退出
点击此处继续提问与开发者们互动

申请试用

提交后工作人员会尽快与您联系进行功能演示
技术咨询已转移到管理后台,请先登录

即时通讯云使用者请在应用详情页面咨询
客服云使用者请进入管理员模式咨询

×

400电话

商务咨询

技术咨询

免费试用