IOS使用XMPP最新教程(五)添加好友和接受好友请求
2015-10-12 12:49
267 查看
加好友要使用Roster类,整个加好友的过程比较简单,就是下面的代码。
XMPPRoster * xmppRoster = [self xmppRoster];
[xmppRoster subscribePresenceToUser:jid];
注意jid是这样生成的:
XMPPJID *jid = [XMPPJID jidWithString:@"3@127.0.0.1"];
然后系统会回调这个函数
- (void)didReceivePresenceSubscriptionRequest:(XMPPPresence *)presence
但是经常会发现这个函数并不执行,解决办法情看我的另一篇帖子XMPP didReceivePresenceSubscriptionRequest函数不执行解决办法
presence里面包含了请求的各种信息
@interface XMPPPresence : XMPPElement
// Converts an NSXMLElement to an XMPPPresence element in place (no memory allocations or copying)
+ (XMPPPresence *)presenceFromElement:(NSXMLElement *)element;
+ (XMPPPresence *)presence;
+ (XMPPPresence *)presenceWithType:(NSString *)type;
+ (XMPPPresence *)presenceWithType:(NSString *)type to:(XMPPJID *)to;
- (id)init;
- (id)initWithType:(NSString *)type;
- (id)initWithType:(NSString *)type to:(XMPPJID *)to;
- (NSString *)type;
- (NSString *)show;
- (NSString *)status;
- (int)priority;
- (int)intShow;
- (BOOL)isErrorPresence;
@end
通过源码可以看到它是继承自XMPPElement的,所以取信息的方法一样。
然后就是接受请求的函数:
[xmppRoster acceptPresenceSubscriptionRequestFrom:jid andAddToRoster:YES];//YES是向对方发送好友请求
拒绝的函数:
[xmppRoster rejectPresenceSubscriptionRequestFrom:jid];
XMPPRoster * xmppRoster = [self xmppRoster];
[xmppRoster subscribePresenceToUser:jid];
注意jid是这样生成的:
XMPPJID *jid = [XMPPJID jidWithString:@"3@127.0.0.1"];
然后系统会回调这个函数
- (void)didReceivePresenceSubscriptionRequest:(XMPPPresence *)presence
但是经常会发现这个函数并不执行,解决办法情看我的另一篇帖子XMPP didReceivePresenceSubscriptionRequest函数不执行解决办法
presence里面包含了请求的各种信息
@interface XMPPPresence : XMPPElement
// Converts an NSXMLElement to an XMPPPresence element in place (no memory allocations or copying)
+ (XMPPPresence *)presenceFromElement:(NSXMLElement *)element;
+ (XMPPPresence *)presence;
+ (XMPPPresence *)presenceWithType:(NSString *)type;
+ (XMPPPresence *)presenceWithType:(NSString *)type to:(XMPPJID *)to;
- (id)init;
- (id)initWithType:(NSString *)type;
- (id)initWithType:(NSString *)type to:(XMPPJID *)to;
- (NSString *)type;
- (NSString *)show;
- (NSString *)status;
- (int)priority;
- (int)intShow;
- (BOOL)isErrorPresence;
@end
通过源码可以看到它是继承自XMPPElement的,所以取信息的方法一样。
然后就是接受请求的函数:
[xmppRoster acceptPresenceSubscriptionRequestFrom:jid andAddToRoster:YES];//YES是向对方发送好友请求
拒绝的函数:
[xmppRoster rejectPresenceSubscriptionRequestFrom:jid];
相关文章推荐
- ios归档
- iOS---TextField知多少
- ios项目重命名
- iOS iOS7越狱
- iOS 处理服务器返回的浮点数数据
- iOS9适配必看指南
- iOS-Git使用详解
- iOS遇到的那些事(持续总结并更新)-MickyChiang
- iOS发布证书申请
- iOS定时器
- IOS开发:url编码和解码
- iOS--资料--Github上的iOS资料收集(持续更新)
- iOS中的绝对值处理
- Masonry — 使用纯代码进行iOS应用的autolayout自适应布局
- iOS和AnidroEmoji表情同步转码
- iOS第三方库利器cocoapods安装和使用,深度解决被墙的问题
- IOS Emoji 编码打印
- [记录 ]升级IOS 9 和 XCode 7 引起的问题
- iOS动画效果和实现
- IOS开发——隐藏键盘的4种方法