即时通讯2

xmpp整理笔记:xmppFramework框架的导入和介绍

 

一个将要开发xmpp的项目,建议在项目刚建立就导入框架,这样能够避免一些本身操做失误形成没必要要的损失。html

xmpp中最经常使用的框架就是 xmppFrameWorkgit

往期回顾:github

xmpp整理笔记:环境的快速配置(附安装包)  http://www.cnblogs.com/zhonghuaxiaodangjia/p/4323460.html编程

第一种方法直接拖

1> 拖入文件夹

 在网盘连接的xmppFramework文件夹 :http://pan.baidu.com/s/1jGxLa3Gjson

 也能够直接去github搜索下载。swift

2>  拖入Sample_XMPPFramework.h,重命名为XMPPFramework.h

 

3>  添加框架

    CFNetwork.frameworkxcode

    Security.framework服务器

    libxml2.dylib框架

    libresolv.dylibsocket

  libin.a

 

4>  修改Build Settings

    Header Search Paths

        添加 "/usr/include/libxml2"

    Other Linker Flags

        添加 "-lxml2"

    Library Search Paths

        将"$(PROJECT_DIR)/01-仿QQ/Lib/XMPP/Vendor/libidn"

        修改成"$(PROJECT_DIR)",并改成"recursive"

 

 

5>  修改XMPP/Core/XMPP.h

    在文件顶部添加"#import <UIKit/UIKit.h>"

 

第二种方法cocoapods

就是使用cocoapods 能够一次性导入,而且也不须要上述的配置和调整。而且之后更新框架的时候一个pod update完事。

可是有一个很严重的问题。就是你在导入框架pod install的时候会报错,出现一个 circular dependency 就是循环依赖。这是cocoapods的版本问题,cocoapods0.35版本会对xmppFramework框架形成循环依赖,解决的方法就是,将cocoapods的版本降到 0.34.4

终端操做指令以下:

1.卸载cocoapods 

$ sudo gem uninstall cocoapods

2.安装xcodeproj

$ sudo gem install xcodeproj

3.安装指定版本0.34.4的cocoapods

$ sudo gem install cocoapods -v 0.34.4

 

可是这样很不爽啊,由于日后swift什么的编程全都须要cocoapods的版本保持最新0.35 甚至0.36. 因此这个降版本很是蛋疼,两种方法都能用。具体使用哪一种,可根据本身喜爱决定。反正我是选了第一种。

 

框架内的大体介绍

Authentication    受权,身份验证

Categories        分类

Core              核心

Extensions        扩展

Utilities         工具

Vendor            第三方库

 

  在Extensions中:

CoreDataStorage   coreData存储

Reconnect    从新链接

Roster    好友管理

    有数据表 XMPPRoster 用来管理用户

    管理用户的类 XMPPUserCoreDataStorageObject

SystemInputActivityMonitor     系统输入的活动监控

经常使用的模块:

XEP - 0009    RPC(相似黑客技术)

XEP - 0012    最后的活动(判断上线,离开断开)

XEP - 0045    多人聊天

XEP - 0054    名片-我的信息设置

XEP - 0065    sockets5字节流

XEP - 0066    二进制数据传输(特殊信息的发送)

XEP - 0085    聊天状态通知

XEP - 0136    聊天记录归档

  其中有数据表 XMPPMessageArchiving

  取出当前信息的类 XMPPMessageArchiving_Message_CoreDataObject 

XEP - 0153    基于名片的头像

XEP - 0199    xmpp ping (用来ping服务器和ping本身)

XEP - 0335    json容器(可能之后某些信息传输将用json格式)

 

在core中:

XMPPElement 是一个基类 ,延展出三个子类

XMPPIQ    请求 (用户登陆,用户注册,添加好友等)

XMPPMessage    消息(用来发各类消息等)

XMPPPresence    展示(用户上线下线提示等)

XMPPStream    流,很是经常使用,大部分类的加载都在写在流的懒加载里

在vender中:

kissXML 用于xml的主要解析框架

相关文章
相关标签/搜索