不知道其他语言版的xmpp,framework是怎样的,就OC版提供的xmpp框架来说,它只提供了邀请其他用户进群的API:
- (void)inviteUser:(XMPPJID *)jid withMessage:(NSString *)inviteMessageStr
在网上找了半天的解决答案,才在一位qq群好友的提示下,要自己IQ消息,最终才自己封装了群主送飞机票这个功能
方法如下
1首先找到xmpp官方文档:http://wiki.jabbercn.org/XEP-0045#.E8.BF.9B.E5.85.A5.E4.B8.80.E4.B8.AA.E6.88.BF.E9.97.B4
2拷贝出XML消息
例子 78. 主持人踢出房客
<iq from='fluellen@shakespeare.lit/pda'
id='kick1'
to='harfleur@henryv.shakespeare.lit' //这个加了个henryv(很礼物)应该是某个后台服务|to房间
type='set'>
<query xmlns='http://jabber.org/protocol/muc#admin'>
<item nick='pistol' role='none'>
<reason>Avaunt, you cullion!</reason>
</item>
</query>
</iq>
3翻译成OC代码,并封装为一个方便调用的API
其实总的思路不难,但是实现过程还是花了半天多的功夫,1理清xml语法格式 2理解对应的参数含义,3参考xmpp源码,实现功能
最后真传一句话:
抓住NSXMLElement这个元素根类,然后创建各种对应xml元素节点,最后组装