我已经在iphone中实现了一个聊天应用程序我想知道每当用户已经登录并且他/她想要使用相同的用户名和其他设备再次登录其他设备时密码,它应该显示弹出用户登录的其他设备。
我不知道检查登录状态的方法。
答案 0 :(得分:3)
你在appdelegate中使用了一种方法来解决它
- (void)xmppStream:(XMPPStream *)sender didNotAuthenticate:(NSXMLElement *)error
{
// show the popup if user didNotAuthenticate
}
此方法可能会对您有所帮助
答案 1 :(得分:0)
您可以在服务器端为数据库中的用户维护一个标志。当用户第一次登录时,更新数据库字段值。现在,下次当用户尝试从任何其他设备登录时,检查数据库字段的值是否已经登录,用户是否已登录。如果是,则显示该消息。
答案 2 :(得分:0)
当相同的JID登录到新的JID时,旧的JID将调用此委托:
-(void)xmppStreamDidDisconnect:(XMPPStream *)sender withError:(NSError *)error
,
和Xcode会像这样记录:
"Error Domain=GCDAsyncSocketErrorDomain Code=7 "Socket closed by remote peer" UserInfo={NSLocalizedDescription=Socket closed by remote peer}"