1

我正在使用 XMPP 框架构建一个 iPhone 应用程序。我在下面的代码中有一个问题:

NSString *presenceType = [presence type]; // online/offline
    NSString *myUsername = [[sender myJID] user];
    NSString *presenceFromUser = [[presence from] user];
    if (![presenceFromUser isEqualToString:myUsername]) {
        if ([presenceType isEqualToString:@"available"]) {
            [self._chatDelegate newBuddyOnline:[NSString stringWithFormat:@"%@@%@", presenceFromUser, @"server.net"]];
        } else if ([presenceType isEqualToString:@"unavailable"]) {
            [self._chatDelegate buddyWentOffline:[NSString stringWithFormat:@"%@@%@", presenceFromUser, @"server.net"]];
        }
   }

假设我创建了 2 个 jabber 帐户,ichat@server.net 和 iPhone@server.net。当我使用 iPhone 帐户启动我的应用程序时,我看不到没有人连接。当我删除此行时:

if (![presenceFromUser isEqualToString:myUsername])

我可以看到两行带有 iphone@server.net(我的帐户)的一行是在线好友表视图。在调试模式下,当我检查 PresenceFromUser 变量时,每次它都包含我的登录信息,而不是在线其他好友的登录信息。

你能帮我解决这个问题吗?提前致谢

4

1 回答 1

0

好的,我发现了导致此问题的原因。确实,我在创建项目时错过了配置项目,更准确地说,我在配置 libxml 时出了点问题。现在,它可以使用相同的代码正常工作。

PS:我认为 XMPP iOS Framework 还不稳定,所以我想我会在应用程序内部改变聊天技术。

于 2014-01-30T09:18:11.077 回答