gpt4 book ai didi

iphone - XMPPFramework 未发送存在信息

转载 作者:行者123 更新时间:2023-12-03 20:27:57 25 4
gpt4 key购买 nike

我正在为 iPhone 开发一款应用程序,其中功能之一是使用 XMPPFramework 的即时消息系统。现在,我正在使用 Google Talk 进行测试。委托(delegate)与管理用户界面的类相同。所以,我得到了这段代码:

在viewDidLoad中:

- (void)viewDidLoad
{
[super viewDidLoad];
[self setupStream];
}

setupStream 方法:

- (void) setupStream
{
NSLog(@"Inside setupStream");
xmppStream = [[XMPPStream alloc] init];
[xmppStream addDelegate:self delegateQueue:dispatch_get_main_queue()];
[self connect];
}

连接方法:

- (BOOL) connect
{
NSLog(@"Inside connect method");


General *general = [General sharedManager];//this is a singleton to manage settings for every user
NSString *chatid;
NSString *chatpass;

//chatid=[general user];
chatid=@"somegmailaccount@gmail.com";
xmppStream.myJID=[XMPPJID jidWithString:chatid];

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

NSError *error = nil;
if (![xmppStream connect:&error])
{
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Error"
message:[NSString stringWithFormat:@"Can't connect to server %@", [error localizedDescription]]
delegate:nil
cancelButtonTitle:@"Ok"
otherButtonTitles:nil];
[alertView show];

return NO;
}

return YES;
}

在xmppStreamDidConnect方法中:

- (void) xmppStreamDidConnect:(XMPPStream *)sender
{
[xmppStream authenticateWithPassword:@"password" error:NULL];
[self goOnline];
}

以及 goOnline 方法:

- (void) goOnline
{
XMPPPresence *presence = [XMPPPresence presence];
[[self xmppStream] sendElement:presence];
NSLog(@"Presence sent");
}

这样,就不会发送存在信息。我有另一个谷歌帐户,我尝试测试(例如,testing@gmail.com),在这个帐户中,没有看到 somegmailaccount.gmail.com 的存在。两个帐户已连接并且彼此了解,因为我使用相同的帐户来开发 Android 应用程序。

知道我做错了什么吗?如有任何帮助,我们将不胜感激。

非常感谢。

最佳答案

我找到了!存在不是这样发送的:

XMPPPresence *presence = [XMPPPresence presence];
[[self xmppStream] sendElement:presence];

已安装,我是这样做的:

NSXMLElement *presence = [NSXMLElement elementWithName:@"presence"];
[xmppStream sendElement:presence];

这样,发送存在就没有任何问题了:)

关于iphone - XMPPFramework 未发送存在信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10995559/

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