0

我已经在 iphone 中实现了一个聊天应用程序我想知道,每当用户已经登录并且如果他/她想使用相同的用户名和密码再次登录其他设备时,它应该显示弹出用户已登录其他一些设备。

我不知道用哪种方法检查登录状态。

4

3 回答 3

3

您在 appdelegate 中有一种方法可以使用它来解决它

- (void)xmppStream:(XMPPStream *)sender didNotAuthenticate:(NSXMLElement *)error
{
    // show the popup if user  didNotAuthenticate
}

这个方法可能对你有帮助

于 2013-11-13T17:42:52.573 回答
0

您可以在服务器端为数据库中的用户维护一个标志。当用户第一次登录时,更新数据库字段值。现在下次当用户尝试从任何其他设备登录时,检查数据库字段的值是否用户已经登录。如果是,则显示该消息。

于 2013-11-13T05:20:41.020 回答
0

当同一个 JID 登录一个新的,旧的会调用这个 delegate: -(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}"

以上情况是在APP被激活的状态下建立的,如果没有,比如旧的通过自动登录,或者新设备已经登陆访问。@spaleja,他的解决方案可能是一个解决方案。

讨论

于 2016-11-26T15:07:58.287 回答