实现好友请求
.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 back20 - (void)dealWithFriendAsk: (BOOL)isAgree21 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 addFriendDelegateMethods32 - (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. Methods12 */13 - (void)addFriend: (NSString *)accountName;14 - (void)removeFriend: (NSString *)accountName;
新闻热点
疑难解答