码迷,mamicode.com
首页 > 移动开发 > 详细

iOS开发--XMPPFramework--好友模块(四)

时间:2016-03-17 00:38:35      阅读:256      评论:0      收藏:0      [点我收藏+]

标签:

前面几篇,我们讨论了环境的配置,框架的导入和用户登陆,这一篇我们来说说好友模块。

在进入正题之前,我们来说下调试。

首先,打开偏好设置,看一下Openfire服务器和MySQL是否打开,记得先打开MySQL,再打开Openfire,随后,点击Open Admin ConConsole,

出现下面的页面,就成功了。

技术分享

输入用户名和密码,登录,出现这个界面:

技术分享

随后,点击导航栏上的“用户/组”,出现了用户和聊天组的管理

技术分享

我们可以看到,用户中有两个,一个是管理员,一个是普通用户zhangsan,我们点击左侧菜单,新建一个用户wangwu,登录密码123456。

在mac上,有个叫 信息 的应用,点开它。,并在菜单栏中选择添加账户

技术分享

选择其他“信息”账户,点击继续。

技术分享

点击登录,成功连上,我们可以回到Openfire控制台,发现张三已经登录。

技术分享

这样就成功了,我们可以用程序和张三聊天。。

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

接下来是今天的正题,好友模块。

我们在上一篇设置模块的方法中,加入好友模块,并激活。

 

// 好友模块
    self.xmppRoster = [[XMPPRoster alloc] initWithRosterStorage:[XMPPRosterCoreDataStorage sharedInstance]];
    // 不自动同意好友申请
    [self.xmppRoster setAutoAcceptKnownPresenceSubscriptionRequests:NO];
    [self.xmppRoster setAutoClearAllUsersAndResources:NO];
    //登录完成之后 不自动同步一次好友列表
    [self.xmppRoster setAutoFetchRoster:NO];
    
    // 好友聊天记录模块
    self.xmppMessageArchiving = [[XMPPMessageArchiving alloc] initWithMessageArchivingStorage:[XMPPMessageArchivingCoreDataStorage sharedInstance]];
    
    // 激活
    [self.xmppRoster activate:self.xmppStream];
    [self.xmppMessageArchiving activate:self.xmppStream];

我们可以通过下面这个代理方法获得好友的上下线通知:

- (void)xmppStream:(XMPPStream *)sender didReceivePresence:(XMPPPresence *)presence {
    //这个if成立的时候说明对方想要订阅你
    if ([presence.type isEqualToString:@"subscribe"]) {
        [self.xmppRoster acceptPresenceSubscriptionRequestFrom:presence.from andAddToRoster:YES];
    }
}

收到一个presence消息,当然,我们这里没有对好友上线做操作,当前代码的意思是收到好友订阅请求,并且同意。

- (void)addUser:(XMPPJID *)jid withNickname:(NSString *)optionalName;

上面这段代码的作用就是发送添加好友的请求。然后,对方在上面的代理中收到订阅消息,选择同意或者弹出加好友的请求。

下一篇,我们来说说好友列表模块。

 

iOS开发--XMPPFramework--好友模块(四)

标签:

原文地址:http://www.cnblogs.com/FrankieZ/p/5285744.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!