未发送XMPPFramework消息
我接收来自Google Talk帐户的消息,它们显示在Ios仿真器的表视图中,但是当我发送它时,它不显示在Google Talk客户端(在另一台计算机中)中。 这是代码:
-(IBAction)sendchat:(id)sender { General *general = [General sharedManager];//It is a singleton class used to store some values that need to be accesible in the whole application. NSXMLElement *body = [NSXMLElement elementWithName:@"body"]; text=[mensaje text]; NSLog(@"Texto en el body: %@", text); [body setStringValue:text]; NSArray *dest=[general.firstfrom componentsSeparatedByString:@"/"];//in firstfrom is stored the account from wich we receive the first message. This app cannot start a conversation itself, must only answer NSLog(@"Destination trimmed: %@", [dest objectAtIndex:0]);//Here, the destination account shows correctly (without the /xxxx stuff, just name@gmail.com) XMPPMessage *mens=[[XMPPMessage alloc]init]; [mens addAttributeWithName:@"body" stringValue:text]; [mens addAttributeWithName:@"sender" stringValue:general.userlogin]; NSLog(@"text vale: %@", text); NSXMLElement *messagetosend = [NSXMLElement elementWithName:@"message"]; [messagetosend addAttributeWithName:@"type" stringValue:@"chat"]; [messagetosend addAttributeWithName:@"to" stringValue:[dest objectAtIndex:0]]; [messagetosend addChild:body]; NSLog(@"We are sending to: %@", [dest objectAtIndex:0]); [self.xmppStream sendElement:messagetosend]; [self xmppStream:xmppStream didReceiveMessage:mens];//manage the sent message as it was received, to show it in the Table View self.mensaje.text=@""; }
正如我所说,邮件收到完美,但我不能发送。 我见过很多如何发送的例子,他们就像我的代码。 如果我debugging发件人它显示确定(namesender@gmail.com),并且“to”属性也可以(namereceiver@gmail.com)。 xmppStrem设置正确(据我所知):
xmppStream = [[XMPPStream alloc] init]; [xmppStream addDelegate:self delegateQueue:dispatch_get_main_queue()];
在ViewDidLoad方法中。
任何帮助? 谢谢。
– -编辑 – –
我忘了说,两个帐户彼此都知道,并在Google Talk客户端中发送状态。
我find了答案。 我有两个类接收消息,因为A类必须收到一条消息来触发推送类B的视图(该应用程序无法自己开始聊天对话)。 所以,我设置了两个xmppStream,每个类一个。 我把一个xmppStream放在我的General类中,让两个类都接受这个xmppStream,现在它发送消息。
- 自定义UICollectionViewLayout自动布局和动态类型
- iOS / watchos2 – 为什么不会话:didReceiveApplicationContext:火?
- ABAddressBookCopyArrayOfAllPeople和ABAddressBookGetPersonCount返回不同的大小
- 从CVImageBuffer保持MTLTexture导致口吃
- 快速的文字游戏,第二部分
- 设置“UITextView”和“UITextField”的最大字符数
- 在Swift中高效滚动UIStackView
- UIView调整子视图
- 在iOS 7中,Mapview不可滚动并可与UISearchDisplayController触摸