我正在使用 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 变量时,每次它都包含我的登录信息,而不是在线其他好友的登录信息。
你能帮我解决这个问题吗?提前致谢