12.27更新
增加对方输入的状态显示
此次更新对方输入状态显示在Navigation Bar title位置,显示为 “Is typing...”, 同样代码改动的地方较多,故不在博客中更新, 所有集成更新源码均放在Github上,在“源码下载”区提供地址。
后面开一篇帖子描述怎样添加对方输入状态。
12.25更新
- 修复一些bugs
- 更改了界面的配色
增加注册好友的功能
But I have to say, 在我的ejabberd中并不能很好的注册成功,多数失败,经调试没找到问题, 可能也不是服务器的原因,可能还是代码的问题…… 希望一起在做知道原因的朋友能够告知我到底什么问题,先在此谢过 :)
代码改动比较多,重新上传源码(底部下载地址),在博客中就先不改了。
12.24更新
- 增加删除好友功能
传送门: Habber - IOS XMPP 客户端 教程 (三)着手制作好友列表
At最底部
Introduce&Statement
哦,急着写教程竟然忘了把服务器搭建部分放上去,
这里偷个懒,把波哥的服务器搭建的视频课程放上来:课时一 概念简述和服务器搭建
(只看第一课时就好,如果你有兴趣学习,波哥是纯swift版的 :)
基于XMPP的客户端,Just do for fun
当然有很多的bug,但是时间仓促,旨在学习和练手。
图表图案都是从网上搜的用PS做了后期处理,版权归原作者所有。
半年前看《小波学雨燕》的课程中看小波老师的视频学习swift微信也是基于XMPP的这个,
现在重新回头来做OC的XMPP客户端,参考了不少文章,借鉴不少代码,在此谢过!
谢谢这些技术大牛的分享,故做出来点小东西也拿出来分享下,希望大家能够互相交流提高。
实现的功能有
- 添加好友
- 文本信息发送接收
- 图片发送接收
- 语音发送接收
- 好友列表页面有上线,离线,注销功能
- 登录过一次默认自动登录
应该但没有实现的功能
- 注册功能没有 (在服务器建立用户好了。。)
- 启动画面后总是通过登录页跳转,体验不好
- 加上一个自动登录的控制项或许更好
- 注册功能没有做
- 不能删除好友(已增加)
基于的框架
- XMPPFramework
- UUChatTableView
- Swifty 登录界面
- TSPopoverView
Habber XML结构
<message
from=''
to=''
type='chat'>
<body>文本信息这里</body>
<image>图片base64转码文本信息这里</image>
<voice>mp3格式声音NSData转base64文本信息这里</voice>
</message>
源码下载
PS.用到的除XMPPFramework的第三方框架都已打包进去,
在Github下的最新XMPPFramework编译有些问题,故用Cocoapods导入的旧版本,
Podfile已包含在内。