iOS_32_XMPPFramework框架导入

XMPP框架地址:http://xmpp.org/xmpp-software/libraries/

•https://github.com/robbiehanson/XMPPFramework



预计要实现的功能:

•用户登录、注册
•相互添加好友    Roster(花名册)
•好友之间的聊天
•表情文字(CoreText)
•聊天状态      XEP-0085(在线、离开、请 勿打扰)
•聊天室群聊  XEP-0045
•发送文件     XEP-0096
•语音聊天     XEP-0065(本地录音、发送音频、播放)





XMPPMaster解压缩后目录

 
 
 

创建新的XCode空白项目,并勾选Git on my mac


直接在XCode项目中创建一个新的Lib文件夹

1.导入依赖框架
CocoaLumberjack:日志框架(Log)
CocoaAsyncSocket:底层网络框架
•需要添加 CFNetwork& Security框架依赖
KissXML:XML解析框架
•需要添加 libxml2. dylib框架依赖
•需要指定如下编译选项:

OTHER_LDFLAGS =-lxml2

HEADER_SEARCH_PATHS =/usr/include/libxml2

–导入文件夹 libidn


将以下4个文件夹导入到项目
Authentication
Categories
Core
Utilities
另外还需要添加libresolv.dylib依赖


•导入XMPP扩展框架  文件夹
Extensions

•将 Sample_XMPPFramework . h添加到项目,并且重命名为 XMPPFramework . h
•在终端输入:

git commit -m 添加XMPP框架

•可以一次性提交所有增加的文件



•XEP-0045:多用户聊天
•XEP-0060:发布-订阅
•XEP-0065:SOCKS5字节流
•XEP-0085: 聊天状态通知
•XEP-0096:文件传输
•XEP-0172:用户昵称
•CoreDataStorage: 数据存储
•Reconnect:重新连接
•Roster:花名册
所有的XMPP扩展
•http://xmpp.org/xmpp-protocols/xmpp-extensions/





XMPPStream :是开发过程中最主要交互的类,所有扩展和自定义代码均要基于此类进行



XMPPJID:提供了一个不可变JID的实现,遵守NSCopying协议和NSCoding协议

XMPPElement:以下三个XMPP元素的基类 (父类)
XMPPIQ  : 请求 (加好友是一个请求)
XMPPMessage   :消息 (发送的一条消息)
XMPPPresence   : 出席(上线、登陆)


•XMPPParser:供XMPPStream解析使用
•XMPPLogging:XMPP的日志框架

•XMPPModule:开发XMPP扩展时使用
•XMPPInternal:整个XMPP框架内部使用的核心和高级底层内容






1.配置连接至XMPP服务器
2.添加 代理
3.添加模块
4.开始连接
5.开始授权

•注意:
–XMPP框架仅提供了一个最小的 代理委托系统
用于接收三种XMPP子类型(IQ、Message和Presence),
如果要实现更多的功能,开发者还需要编写大量的相关代码
–为了简化开发, 通常将 XMPPStream 放置在 AppDelegate ,以便于全局访问


主要扩展功能:
XMPPReconnect:如果意外中断,自动重连XMPP流
XMPPRoster:标准的XMPP花名册
XMPPRoom:提供多人聊天支持(聊天室)
XMPPPubSub:提供公共订阅支持
•etc



•使用XMPP的实时消息传递系统包含三大通信类别:
消息传递,其中数据在有关各方之间传输
联机状态,允许用户广播其在线状态和可用性
信息 / 查询请求,它允许XMPP实体发起请求并从另一个实体接收响应

•以上三种类型的XMPP节都拥有以下公共属性:
from:源XMPP实体的JID
to:目标接收者的JID
id:当前对话的可选标识符
type:节的可选子类型
xml:lang:如果内容是人们可读的,则为消息语言的描述









导入CFNetwork.framework和Security.framework

导入KissXML(相当麻烦)
    

添加libxml2的头文件路径,不然,KissXML无法工作


至此,Vendor(小贩、卖主)导入完毕

再将XMPP的4个基础框架导入至项目 (除了Extensions)

暂时用不到的扩展们

最后,还要导入libresolv.dylib

不算扩展,最终结果如图:

Git提交单个文件


更好的做法是:命令行中,切换到工程路径,一次性提交所有的(新增或修改的文件)
git commit -m "对本次操作的一些备注"

全部提交后,XCode文件右边的A(add)就不见了





                       






                    






















  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1024app_ios_2.3.4是一款专为iOS设备设计的应用程序,其版本号为2.3.4。该应用程序在功能上提供了丰富的内容和服务,可以满足用户在不同方面的需求。 1024app_ios_2.3.4首先具备了强大的应用市场功能,用户可以通过该应用程序方便地浏览和搜索各种类型的应用,包括游戏、社交媒体、工具类等。用户可以根据自己的兴趣和需求下载和安装这些应用,并在手机上进行使用。 其次,1024app_ios_2.3.4还提供了个性化推荐功能,根据用户的使用习惯和喜好,推荐适合用户的应用程序。这样,用户可以更加高效地发现和使用他们感兴趣的应用,提高了用户体验。 另外,1024app_ios_2.3.4还支持应用的更新和升级。用户可以在应用程序中获得关于已安装应用的最新版本信息,并进行更新。这样,用户可以及时获得应用程序的最新功能和修复bug,提高了应用的稳定性和安全性。 最后,1024app_ios_2.3.4还具备了一些额外的功能,例如用户可以在应用中进行应用评分和评论,与其他用户交流和分享使用心得。此外,用户还可以通过该应用程序获取关于应用的详细信息,如应用的大小、开发者介绍等。 综上所述,1024app_ios_2.3.4是一款功能强大的iOS应用程序,用户可以在其中浏览和下载各种类型的应用,享受个性化推荐、应用更新和升级等服务。同时,用户还可以与其他用户互动交流,获取应用的详细信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值