关闭

XMPP学习记录五:添加好友和删除好友

1569人阅读 评论(0) 收藏 举报
分类:

好友列表和好友名片

  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.   //XMPPHOST 就是服务器名,  主机名      
  5.     XMPPJID *jid = [XMPPJID jidWithString:[NSString stringWithFormat:@"%@@%@",name,XMPPHOST]];    
  6.     //[presence addAttributeWithName:@"subscription" stringValue:@"好友"];    
  7.     [xmppRoster subscribePresenceToUser:jid];    
  8.         
  9. }  

  1. //收到添加好友的请求  
  2. - (void)xmppRoster:(XMPPRoster *)sender didReceivePresenceSubscriptionRequest:(XMPPPresence *)presence    
  3. {    
  4.     //取得好友状态    
  5.     NSString *presenceType = [NSString stringWithFormat:@"%@", [presence type]]; //online/offline    
  6.     //请求的用户    
  7.     NSString *presenceFromUser =[NSString stringWithFormat:@"%@", [[presence from] user]];    
  8.     NSLog(@"presenceType:%@",presenceType);    
  9.         
  10.     NSLog(@"presence2:%@  sender2:%@",presence,sender);    
  11.         
  12.     XMPPJID *jid = [XMPPJID jidWithString:presenceFromUser];    
  13.     //接收添加好友请求  
  14.     [xmppRoster acceptPresenceSubscriptionRequestFrom:jid andAddToRoster:YES];    
  15.     
  16. }    


删除好友

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

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:215379次
    • 积分:3855
    • 等级:
    • 排名:第8545名
    • 原创:171篇
    • 转载:14篇
    • 译文:1篇
    • 评论:33条
    文章分类
    最新评论