【发布时间】:2017-02-23 16:27:00
【问题描述】:
我有一个聊天应用程序,当我阻止他时,我使用以下代码为对话伙伴创建固定消息:
NSString *deliveryMessage = [NSString stringWithFormat:@"{ \"sender\":\"%@\", \"senderUserName\":\"%@\", \"groupId\":\"%@\", \"messageType\":\"%@\"}", [USER_DEFAULT valueForKey:WA_USER_ID_KEY], [USER_DEFAULT valueForKey:WA_USER_NAME_KEY], stringId, @"block"];
NSString *recieverJid = [NSString stringWithFormat:@"%@@%@/%@", stringId ,CHAT_SERVER_ADDRESS,CHAT_SERVER_ADDRESS];
NSString *senderJid = [NSString stringWithFormat:@"%@@%@/%@",MY_USER_NAME,CHAT_SERVER_ADDRESS,CHAT_SERVER_ADDRESS];
NSXMLElement *body = [[NSXMLElement alloc]initWithName:@"body"];
[body setStringValue:deliveryMessage];
NSXMLElement *message = [NSXMLElement elementWithName:@"message"];
[message addAttributeWithName:@"type" stringValue:@"chat"];//@"chat"
[message addAttributeWithName:@"from" stringValue:senderJid];
[message addAttributeWithName:@"to" stringValue:recieverJid];
[message addChild:[body copy]];
[xmppStream sendElement:message];
总是因为错误而崩溃:Cannot add a child that has a parent; detach or copy first
我使用相同的代码在用户之间和其他未来发送消息。总是有效,但在这里不行。
有什么想法吗?谢谢!
编辑!!
我的问题是因为接收器被XMPPPrivacy 阻止了。所以我不能给他发信息。在我删除隐私后,所有工作都重新开始。
如果有人遇到同样的问题,请检查接收器是否被阻塞。
谢谢大家!!!
【问题讨论】:
-
为什么是
[body copy],而不是简单的body? -
也不工作。第一次很简单,但我之前在网上搜索过,我发现但没有结果
-
您能解决问题吗?
-
是的,我的问题是因为该用户被
XMPPPrivacy阻止。在我删除隐私后再次工作。因此,请检查您的用户是否被阻止
标签: ios objective-c xcode xmppframework