(转载) XMPPFrameWork IOS 开发(五)获取好友信息和添加删除好友

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

好友列表和好友名片
[cpp] view plain copy print?
[_xmppRoster fetchRoster];//获取好友列表  
  
//获取到一个好友节点  
- (void)xmppRoster:(XMPPRoster *)sender didRecieveRosterItem:(NSXMLElement *)item  
  
//获取完好友列表  
- (void)xmppRosterDidEndPopulating:(XMPPRoster *)sender  
  
//到服务器上请求联系人名片信息  
- (void)fetchvCardTempForJID:(XMPPJID *)jid;  
  
//请求联系人的名片,如果数据库有就不请求,没有就发送名片请求  
- (void)fetchvCardTempForJID:(XMPPJID *)jid ignoreStorage:(BOOL)ignoreStorage;  
  
//获取联系人的名片,如果数据库有就返回,没有返回空,并到服务器上抓取  
- (XMPPvCardTemp *)vCardTempForJID:(XMPPJID *)jid shouldFetch:(BOOL)shouldFetch;  
  
//更新自己的名片信息  
- (void)updateMyvCardTemp:(XMPPvCardTemp *)vCardTemp;  
  
//获取到一盒联系人的名片信息的回调  
- (void)xmppvCardTempModule:(XMPPvCardTempModule *)vCardTempModule   
        didReceivevCardTemp:(XMPPvCardTemp *)vCardTemp   
                     forJID:(XMPPJID *)jid  

添加好友
[cpp] view plain copy print?
//name为用户账号  
- (void)XMPPAddFriendSubscribe:(NSString *)name    
{    
  //XMPPHOST 就是服务器名,  主机名      
    XMPPJID *jid = [XMPPJID jidWithString:[NSString stringWithFormat:@"%@@%@",name,XMPPHOST]];    
    //[presence addAttributeWithName:@"subscription" stringValue:@"好友"];    
    [xmppRoster subscribePresenceToUser:jid];    
        
}  

[cpp] view plain copy print?
//收到添加好友的请求  
- (void)xmppRoster:(XMPPRoster *)sender didReceivePresenceSubscriptionRequest:(XMPPPresence *)presence    
{    
    //取得好友状态    
    NSString *presenceType = [NSString stringWithFormat:@"%@", [presence type]]; //online/offline    
    //请求的用户    
    NSString *presenceFromUser =[NSString stringWithFormat:@"%@", [[presence from] user]];    
    NSLog(@"presenceType:%@",presenceType);    
        
    NSLog(@"presence2:%@  sender2:%@",presence,sender);    
        
    XMPPJID *jid = [XMPPJID jidWithString:presenceFromUser];    
    //接收添加好友请求  
    [xmppRoster acceptPresenceSubscriptionRequestFrom:jid andAddToRoster:YES];    
    
}    


删除好友
[cpp] view plain copy print?
//删除好友,name为好友账号  
- (void)removeBuddy:(NSString *)name    
{    
    XMPPJID *jid = [XMPPJID jidWithString:[NSString stringWithFormat:@"%@@%@",name,XMPPHOST]];    
        
    [self xmppRoster] removeUser:jid];    
}  

你可能感兴趣的:((转载) XMPPFrameWork IOS 开发(五)获取好友信息和添加删除好友)