gpt4 book ai didi

iOS XMPP Framework,如何处理错误的凭据?

转载 作者:行者123 更新时间:2023-11-28 22:10:23 25 4
gpt4 key购买 nike

我使用的所有代码都来自https://github.com/robbiehanson/XMPPFramework .在示例代码中。

在我的 iOS7 消息传递应用程序中,在用户输入登录凭据并单击“登录”按钮后,我调用了 XMPP 框架内的“连接”功能。如果他们第一次输入正确的凭据,连接功能可以正常工作,但如果用户输入错误的凭据,则连接功能将无法工作。因为 connect 中的第一行只会返回 TRUE:

 if (![_xmppStream isDisconnected]) {
return YES;
}

这意味着任何进一步按下登录按钮都不会执行任何操作。

我应该手动调用 authenticateWithPassword 吗?假设客户端和服务器之间的连接已经建立,这是正确的做法吗?

谢谢。

最佳答案

您需要使用委托(delegate)中的方法来处理身份验证。如果尚未连接,首先需要连接到服务器:

[_xmppStream connectWithTimeout:10 error:&error];

一旦流连接到服务器,将调用委托(delegate)方法:

- (void)xmppStreamDidConnect:(XMPPStream *)sender;

在该方法中,您可以调用 authenticateWithPassword。如果流之前已连接(如果您发布,则将是 else 的一部分),您只需调用 authenticateWithPassword

如果身份验证失败,将调用以下委托(delegate)方法:

- (void)xmppStream:(XMPPStream *)sender didNotAuthenticate:(NSXMLElement *)error;

您可以在此处决定向用户显示消息并重新开始。如果身份验证成功,则调用以下方法:

- (void)xmppStreamDidAuthenticate:(XMPPStream *)sender;

关于iOS XMPP Framework,如何处理错误的凭据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23068337/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com