iPhoneにチャットアプリケーションを実装しました。ユーザーがすでにログインしていて、同じユーザー名とパスワードを使用して他のデバイスに再度ログインしたい場合はいつでも、ユーザーがログインしていることをポップアップで表示する必要があることを知りたいです。他のデバイス。
ログイン状態を確認する方法がわかりません。
iPhoneにチャットアプリケーションを実装しました。ユーザーがすでにログインしていて、同じユーザー名とパスワードを使用して他のデバイスに再度ログインしたい場合はいつでも、ユーザーがログインしていることをポップアップで表示する必要があることを知りたいです。他のデバイス。
ログイン状態を確認する方法がわかりません。
appdelegate に 1 つのメソッドがあり、それを使用して解決します
- (void)xmppStream:(XMPPStream *)sender didNotAuthenticate:(NSXMLElement *)error
{
// show the popup if user didNotAuthenticate
}
この方法はあなたを助けるかもしれません
サーバー側のデータベースでユーザーのフラグを維持できます。ユーザーが初めてログインしたときに、データベース フィールドの値を更新します。次に、ユーザーが他のデバイスからログインしようとしたときに、データベース フィールドの値を確認して、ユーザーが既にログインしているかどうかを確認します。はいの場合、メッセージを表示します。
同じ 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}"
上記の状況でAPPが起動している状態で成立し、そうでない場合は自動ログインで古いものを経由したり、新しい機器にアクセスしたりしています。@spaleja、彼の解決策は解決策かもしれません。