注册

求助:使用环信SDK在iOS上无法收到加入群组消息

详细情况如下:

1. 在application:didFinishLaunchingWithOptions:launchOptions已调用以下方法
[[EaseMob sharedInstance] registerSDKWithAppKey:AppKey apnsCertName:CertName otherConfig:nil];
[[EaseMob sharedInstance] application:application didFinishLaunchingWithOptions:launchOptions];

2. 用户已成功登陆过并设置了自动登陆

3. 已经继承了EMChatManagerDelegate接口并进行了注册
[[EaseMob sharedInstance].chatManager removeDelegate:self];
[[EaseMob sharedInstance].chatManager addDelegate:self delegateQueue:nil];

但当其它客户端发送加入群组请求时didReceiveApplyToJoinGroup:groupname:applyUsername:reason:error:不会被调用。但控制台里会输出如下信息:
RECV: {"from":"18222954671","to":"13752450315","bodies":[{"action":"applyAction","type":"cmd"}],"ext":{"groupId":"130681715021578696","content":"yyyyy"}}

SEND:

看样子服务器已经把消息发送到手机端了,但不知道为什么代码没有收到通知。
已邀请:
回调所在的类没有初始化吧,你写在appdelegate里试试 
回调所在的类在[[EaseMob sharedInstance] application:application didFinishLaunchingWithOptions:launchOptions];之后就初始化了
你先把这个回调函数写在appdelegate中,看看是否调用
协议:IChatManagerDelegate
代理:[[EaseMob sharedInstance].chatManager addDelegate:self delegateQueue:nil];
  //接收到入群申请

- (void)didReceiveApplyToJoinGroup:(NSString *)groupId

                         groupname:(NSString *)groupname

                     applyUsername:(NSString *)username

                            reason:(NSString *)reason

                             error:(EMError *)error
回调函数写在appdelegate测试不起作用,控制台输出能看到确实收到消息了,但回调函数还是不会被调用
您创建的这个群组是什么类型的?
群组的创建是服务器端做的,是另一家公司。。。服务器端应该都是一样的,不区分手机平台。Android版的程序可以收到iOS端发出的加入群组请求并处理,iOS上只能收到消息,回调函数无法被调用。两端测试用的账号都是群组的创建者,群组里除了创建者就没有别人了。
将方法写在根控制器下,并且将APP界面停留在根控制器下,注册代理,测试。
请问写在根控制器下和写在AppDelegate下有什么区别吗?目前用AppDelegate无法收到环信的回调。
经测试,回调方法在收到入群申请的时候,在appdelegate中是可以执行的,您按照前面评论回复步骤重新测试,需要登录成功,并走了代理方法,并在收到入群申请消息前初始化该类。
试了很久还是不行。我把相关的部分抽出来单独写了个工程测试还是不行,哪位好心的大神能帮我看一下附件里的代码。这个账号创建了一个ID是132611255931241068的群组,但在其它人申请加入的时候客户端无法收到环信SDK的回调,但在控制台中可以看到确实收到了服务器发过来的消息。
检测一下群组ID。。。。
群组ID有什么问题吗?
加群的方法是怎么做的?
找到问题了,服务器端走的是消息透传,不会触发这个回调。多谢各位的帮助。

要回复问题请先登录注册