首先我们自己做一个的IOS客户端程序

先看一下我们完成的效果图

ios xmpp 配置 ios xmpp客户端_发送消息

ios xmpp 配置 ios xmpp客户端_好友列表_02

ios xmpp 配置 ios xmpp客户端_ios xmpp 配置_03

首先下载xmppframework这个框架

ios xmpp 配置 ios xmpp客户端_背景图_04

点ZIP下载

接下来,用Xcode新建一个工程

将以下这些文件拖入新建工程中

ios xmpp 配置 ios xmpp客户端_背景图_05

ios xmpp 配置 ios xmpp客户端_好友列表_06

加入framework

ios xmpp 配置 ios xmpp客户端_发送消息_07

ios xmpp 配置 ios xmpp客户端_xcode_08

到这里我们就全部设好了,跑一下试试,看有没有错呢

如果没有错的话,我们的xmppframework就加入成功了。

 

我们设置我们的页面如下图:

ios xmpp 配置 ios xmpp客户端_好友列表_09

我们的KKViewController.h

 

ios xmpp 配置 ios xmpp客户端_背景图_10

KKViewController.m

ios xmpp 配置 ios xmpp客户端_ios xmpp 配置_11

ios xmpp 配置 ios xmpp客户端_好友列表_12

这里的代码相信大家学过UITableView的话应该很熟悉了,如果不知道的话,就查一下UITableView的简单应用学习一下吧

接下来是登录的页面

ios xmpp 配置 ios xmpp客户端_ios xmpp 配置_13

KKLoginController.m

ios xmpp 配置 ios xmpp客户端_好友列表_14

下面是聊天的页面

ios xmpp 配置 ios xmpp客户端_发送消息_15

这里着重的还是UITableView

KKChatController.m

ios xmpp 配置 ios xmpp客户端_发送消息_16

这些都比较简单,相信大家应该都能看得懂

 

为了方便程序调用,我们把XMPP的一些主要方法写在AppDelegate中

ios xmpp 配置 ios xmpp客户端_好友列表_17

在AppDelegate.m下这几个方法为:

ios xmpp 配置 ios xmpp客户端_发送消息_18

ios xmpp 配置 ios xmpp客户端_xcode_19

这几个是基础方法,接下来就是XMPPStreamDelegate中的方法,也是接受好友状态,接受消息的重要方法

ios xmpp 配置 ios xmpp客户端_背景图_20

ios xmpp 配置 ios xmpp客户端_ios xmpp 配置_21

这里面有两个委托方法,一个是用户列表委托,还有一个就是消息委托,用户列表委托主要就是取得在线用户,更新用户TableView,消息委托就是取得好友发送的消息,并更新消息TableView,当然这两个TableView是在不同的Controller中的

ios xmpp 配置 ios xmpp客户端_ios xmpp 配置_22

定义完两个委托,我们就要在不同的Controller中实现这两个委托了

在好友Controller中实现<KKChatDelegate>并写入如下方法

ios xmpp 配置 ios xmpp客户端_背景图_23

在viewDidLoad中加入

ios xmpp 配置 ios xmpp客户端_ios xmpp 配置_24

这两行代码,让好友列表的委托实现方法在本程序中

 

在viewWillAppear中加入

ios xmpp 配置 ios xmpp客户端_ios xmpp 配置_25

判断本地保存的数据中是否有userId,没有的话就跳转到登录页面

 

这里最重要的就是connect了,这一句话就是登录这是我们要显示的消息,每一条消息为一条字典

 

接下来就是每一条消息的显示了

了,成功的话,页面就会显示好友列表了。

ios xmpp 配置 ios xmpp客户端_ios xmpp 配置_26

下面是聊天Controller了

在KKChatController.h中加入

ios xmpp 配置 ios xmpp客户端_好友列表_27

这是我们要显示的消息,每一条消息为一条字典

 

接下来就是每一条消息的显示了

ios xmpp 配置 ios xmpp客户端_背景图_28

跟上面好友Controller一样,这里我们也需要XMPPStream

ios xmpp 配置 ios xmpp客户端_xcode_29

在ViewDidLoad中加入

ios xmpp 配置 ios xmpp客户端_xcode_30

设定消息委托由自己来接收和处理

ios xmpp 配置 ios xmpp客户端_ios xmpp 配置_31

接下来最重要的就是发送消息了

ios xmpp 配置 ios xmpp客户端_好友列表_32

ios xmpp 配置 ios xmpp客户端_xcode_33

下面是我们主要介绍如何来美化我们的聊天程序,看一下最终效果呢,当然源程序也会在最后放出

ios xmpp 配置 ios xmpp客户端_ios xmpp 配置_34

好了,我们来看一下我们写的程序

这里我们自定义了TableViewCell

ios xmpp 配置 ios xmpp客户端_背景图_35

一行是显示发布日期,一行是显示发送的消息,还有一个是背景

ios xmpp 配置 ios xmpp客户端_发送消息_36

定义好,在UITableViewCell中将Cell改成我们自己定义的Cell

ios xmpp 配置 ios xmpp客户端_背景图_37

ios xmpp 配置 ios xmpp客户端_发送消息_38

在这个Cell里设置了发送的消息的背景图和接收消息的背景图

 

这里在字典里有一个"time"

这是我们接收和发送消息的时间

ios xmpp 配置 ios xmpp客户端_背景图_39

在AppDelegate.m中

 

将我们收到消息的内容也做一下调整

ios xmpp 配置 ios xmpp客户端_发送消息_40

最后我们再设置一下每一行显示的高度

ios xmpp 配置 ios xmpp客户端_发送消息_41

,对了,在发送消息的时候,别忘了也加上

ios xmpp 配置 ios xmpp客户端_ios xmpp 配置_42