zoukankan      html  css  js  c++  java
  • xmpp好友请求5

    实现好友请求

    .m

     1 #pragma mark - rosterHandle
     2 
     3 // initRoster
     4 - (void)initRoster {
     5     self.xmppRosterMemory = [[XMPPRosterMemoryStorage alloc] init];
     6     self.xmppRoster = [[XMPPRoster alloc] initWithRosterStorage:self.xmppRosterMemory];
     7     [_xmppRoster addDelegate:self delegateQueue:dispatch_get_main_queue()];
     8     [_xmppRoster activate:self.xmppStream];
     9 }
    10 
    11 - (void)addFriend: (NSString *)accountName {
    12     [_xmppRoster addUser:[XMPPJID jidWithString:[accountName stringByAppendingString:DOMAINS]] withNickname:nil];
    13 }
    14 
    15 - (void)removeFriend: (NSString *)accountName {
    16     [_xmppRoster removeUser:[XMPPJID jidWithString:[accountName stringByAppendingString:DOMAINS]]];
    17 }
    18 
    19 // call back
    20 - (void)dealWithFriendAsk: (BOOL)isAgree
    21               accountName: (NSString *)accountName {
    22     XMPPJID * jid=[XMPPJID jidWithString:[NSString stringWithFormat:@"%@%@",accountName,DOMAINS]];
    23     if(isAgree){
    24         [self.xmppRoster acceptPresenceSubscriptionRequestFrom:jid andAddToRoster:NO];
    25     }else{
    26         [self.xmppRoster rejectPresenceSubscriptionRequestFrom:jid];
    27     }
    28 
    29 }
    30 
    31 #pragma mark addFriendDelegateMethods
    32 - (void)xmppRoster:(XMPPRoster *)sender didReceivePresenceSubscriptionRequest:(XMPPPresence *)presence {
    33     
    34     NSString *presenceFromUser =[NSString stringWithFormat:@"%@", [[presence from] user]];
    35     if (self.acceptOrDenyFriend != nil) {
    36         BOOL isAgree = self.acceptOrDenyFriend(presenceFromUser);
    37         [self dealWithFriendAsk:isAgree accountName:presenceFromUser];
    38     }
    39 }
    40 
    41 @end

    .h

     1 /*!
     2  *  @Author Dylan.
     3  *
     4  *  addRoster.
     5  */
     6 // if you want to deny or add friend. please call this block
     7 @property (nonatomic, copy) BOOL (^acceptOrDenyFriend) (NSString *);
     8 @property (nonatomic, strong) XMPPRoster * xmppRoster;
     9 
    10 /*!
    11  *  @Author Dylan. Methods
    12  */
    13 - (void)addFriend: (NSString *)accountName;
    14 - (void)removeFriend: (NSString *)accountName;
  • 相关阅读:
    Photoshop操作指南
    Photoshop操作指南
    财经法规四-2
    财经法规四-1
    财经法规三-3
    财经法规复习三-2
    财经法规复习三-1
    财经法规复习卷一-2
    财经法规二-3
    财经法规二-2
  • 原文地址:https://www.cnblogs.com/Dylan-Alice/p/Dylan_XMPP5.html
Copyright © 2011-2022 走看看