您的位置:首页 > 移动开发 > IOS开发

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

2016-06-08 11:59 513 查看
好友列表和好友名片

[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];    

}  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  XMPP