• xmpp获取好友信息和添加删除好友(4)


    原始地址: XMPPFrameWork IOS 开发(五)获取好友信息和添加删除好友

    好友列表和好友名片

    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. }  
  • 相关阅读:
    luogu P5488 差分与前缀和 FFT
    luogu P4173 残缺的字符串 FFT
    《数据结构与算法分析(C++语言描述)》
    《C语言—从入门到项目实践》Issue分析及总结
    操作系统学习笔记——第六章 文件管理
    操作系统学习笔记——第五章 I/O设备管理
    操作系统学习笔记——第四章 存储管理
    操作系统学习笔记——第二章 进程管理 和 第三章 死锁
    操作系统学习笔记——第一章 操作系统概述
    操作系统学习笔记——全部知识点流程图
  • 原文地址:https://www.cnblogs.com/yulang314/p/3705600.html
Copyright © 2020-2023  润新知