在解锁iPhone屏幕后没有调用didReceiveMessage?

时间:2016-08-12 09:44:49

标签: ios objective-c xmpp openfire

我正在开发Openfire,我实现了它,但是初始化有一些问题。

当我锁定iPhone并进入应用程序时,如果我发送消息,它从未调用委托方法didReceiveMessage。并且一点一点就是,用户可以回收群组中的消息。

为什么代表没有被叫?

我使用此代码在解锁手机后设置代理:

[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(RestartConnection:)
                                             name:UIApplicationDidBecomeActiveNotification
                                           object:nil];


-(void)RestartConnection:(NSNotification *)messageContent {


    NSMutableDictionary* userInfo = messageContent.object;
    NSLog(@"RestartConnection :- %@",userInfo);

    del = [self appDelegate];
    del._messageDelegate = self;
}

我还在

中设置了我的连接方法
- (void)applicationDidBecomeActive:(UIApplication *)application
{
    [self connect];
}

并成功授权。

那里有什么问题?

修改

确定完成 我只是在RestartConnection

中添加连接Room的方法
-(void)RestartConnection:(NSNotification *)messageContent {

    NSMutableDictionary* userInfo = messageContent.object;
    NSLog(@"RestartConnection :- %@",userInfo);

    del = [self appDelegate];
    del._messageDelegate = self;

    [self getJoinRoom];
}

但是在向房间发送消息时往往会出错:

RECV: <message xmlns="jabber:client" to="ilesh@peacock/1anqvk75x3" type="error" from="ios@conference.peacock">
<body> The only one </body>
<error code="406" type="modify">
<not-acceptable xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>
</error>
</message>

所以任何人都可以帮忙吗?

0 个答案:

没有答案