xmpp开发教程(六)-添加和删除好友

时间:2021-03-13 18:36:16

这章开发添加和删除好友的模块,首先列出里面主要的方法:

 1 [_xmppRoster fetchRoster];//获取好友列表  
 2   
 3 //获取到一个好友节点  
 4 - (void)xmppRoster:(XMPPRoster *)sender didRecieveRosterItem:(NSXMLElement *)item  
 5   
 6 //获取完好友列表  
 7 - (void)xmppRosterDidEndPopulating:(XMPPRoster *)sender 8 9 //到服务器上请求联系人名片信息 10 - (void)fetchvCardTempForJID:(XMPPJID *)jid; 11 12 //请求联系人的名片,如果数据库有就不请求,没有就发送名片请求 13 - (void)fetchvCardTempForJID:(XMPPJID *)jid ignoreStorage:(BOOL)ignoreStorage; 14 15 //获取联系人的名片,如果数据库有就返回,没有返回空,并到服务器上抓取 16 - (XMPPvCardTemp *)vCardTempForJID:(XMPPJID *)jid shouldFetch:(BOOL)shouldFetch; 17 18 //更新自己的名片信息 19 - (void)updateMyvCardTemp:(XMPPvCardTemp *)vCardTemp; 20 21 //获取到一盒联系人的名片信息的回调 22 - (void)xmppvCardTempModule:(XMPPvCardTempModule *)vCardTempModule 23 didReceivevCardTemp:(XMPPvCardTemp *)vCardTemp 24 forJID:(XMPPJID *)jid 

 

添加好友

 1 //name为用户账号
 2 - (void)XMPPAddFriendSubscribe:(NSString *)name
 3 { 4 NSString *XMPPHOST=@"helloworldtekimac-mini.local"; 5 //XMPPHOST 就是服务器名, 主机名 6 XMPPJID *jid = [XMPPJID jidWithString:[NSString stringWithFormat:@"%@@%@",name,XMPPHOST]]; 7 //[presence addAttributeWithName:@"subscription" stringValue:@"好友"]; 8  [xmppRoster subscribePresenceToUser:jid]; 9 10 }

第8行是核心代码,负责向服务器提交添加好友的请求

 

删除好友

1 //删除好友,name为好友账号
2 - (void)removeBuddy:(NSString *)name
3 { 4 NSString *XMPPHOST=@"helloworldtekimac-mini.local"; 5 6 XMPPJID *jid = [XMPPJID jidWithString:[NSString stringWithFormat:@"%@@%@",name,XMPPHOST]]; 7 8  [xmppRoster removeUser:jid]; 9 }

第8行是核心代码,负责想服务器提交删除好友的请求