美文网首页
(转载) XMPPFrameWork IOS 开发(五)获取好友

(转载) XMPPFrameWork IOS 开发(五)获取好友

作者: 斯文_7 | 来源:发表于2016-11-22 18:52 被阅读83次
    原始地址: 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 开发(五)获取好友

          本文链接:https://www.haomeiwen.com/subject/vjcmpttx.html