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

一个将要开发xmpp的项目,建议在项目刚创建就导入框架,这样可以避免一些自己操作失误造成不必要的损失。

xmpp中最常用的框架就是 xmppFrameWork

往期回顾:

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

如果你不是在董铂然博客园看到本文请 点击查看原文

第一种方法直接拖

1> 拖入文件夹

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

也可以直接去github搜索下载。

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

3>  添加框架

CFNetwork.framework

Security.framework

libxml2.dylib

libresolv.dylib

  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的主要解析框架

如果你不是在董铂然博客园看到本文请 点击查看原文

接下来将会整理,用户管理模块和信息发送模块,有兴趣的欢迎关注我

时间: 2024-10-09 05:03:56

xmpp整理笔记:xmppFramework框架的导入和介绍的相关文章

xmpp整理笔记:发送图片信息和声音信息

图片和音频文件发送的基本思路就是: 先将图片转化成二进制文件,然后将二进制文件进行base64编码,编码后成字符串.在即将发送的message内添加一个子节点,节点的stringValue(节点的值)设置这个编码后的字符串.然后消息发出后取出消息文件的时候,通过messageType 先判断是不是图片信息,如果是图片信息先通过自己之前设置的节点名称,把这个子节点的stringValue取出来,应该是一个base64之后的字符串, 往期回顾: xmpp整理笔记:聊天信息的发送与显示  http:/

xmpp整理笔记:聊天信息的发送与显示

任何一个信息的发送都需要关注两个部分,信息的发出,和信息在界面中的显示 往期回顾: xmpp整理笔记:环境的快速配置(附安装包)  http://www.cnblogs.com/dsxniubility/p/4304570.html xmpp整理笔记:xmppFramework框架的导入和介绍  http://www.cnblogs.com/dsxniubility/p/4307057.html xmpp整理笔记:用户网络连接及好友管理http://www.cnblogs.com/dsxniub

xmpp整理笔记:用户网络连接及好友的管理

xmpp中的用户连接模块包括用户的上线与下线信息展现,用户登录,用户的注册: 好友模块包括好友的添加,好友的删除,好友列表的展示. 在xmpp中 负责数据传输的类是xmppStream,开发的过程中,针对不同的传输内容,会调用不同的代理方法,在使用XMPPFramework开发时,只需要在不同的代理方法中,填写相同的代码即可. 往期回顾: xmpp整理笔记:xmppFramework框架的导入和介绍  http://www.cnblogs.com/dsxniubility/p/4307057.h

xmpp整理笔记:环境的快速配置(附安装包)

现在虽然环信的xmpp框架很火,但是也有一些弊端.环信的框架部分代码不开源,而且收费模式不科学,用户量一直低于免费线则好,一旦超过,收费极高. xmpp感觉还是从xmppFramework框架学起比较科学.能够更清楚的了解即时通讯里各个操作的api,就算以后出了新的框架底层也要这么用的.主要用到的工具软件有Openfire,mysql,javajdk,phpMyAdmin,Adium等 将本文拉到最下面能看到配置完成之后的聊天效果. 附:需要用到的软件地址是 http://pan.baidu.c

ios xmppFramework框架的导入步骤和介绍

一个将要开发xmpp的项目,建议在项目刚创建就导入框架,这样可以避免一些自己操作失误造成不必要的损失. xmpp中最常用的框架就是 xmppFrameWork 第一种方法直接拖 1> 拖入文件夹 在网盘链接的xmppFramework文件夹 :http://pan.baidu.com/s/1jGxLa3G 也可以直接去github搜索下载. 2>  拖入Sample_XMPPFramework.h,重命名为XMPPFramework.h 3>  添加框架 CFNetwork.framew

手动导入XMPPFramework框架

环境: Xcode 8.2.1 XMPPFramework 3.6.5 (下载地址) Objective-C (项目使用的语言,最新版的3.7.0要求convert to swift) 1.下载XMPPFramework框架,链接地址在上面,下载完解压过后如下图所示: 2.将解压后的文件夹拖到项目工程中,删除多余的文件(红色框框中的都选中,右键delete,然后Remove To Trash) 删除Xcode文件夹中的内容(这个文件夹中的内容是测试的文件),修改Sample_XMPPFramew

上课笔记_Ajax框架,DWR介绍,应用,例子

使用Ajax框架 1. 简化JavaScript的开发难度 2. 解决浏览器的兼容性问题 3. 简化开发流程 常用Ajax框架 Prototype 一个纯粹的JavaScript函数库,对Ajax提供良好支持 jQuery 1.非常优秀的JavaScript库,对Ajax提供了良好的支持 2.与Prototype设计思想不同的是在使用jQuery之后,开发者操作的不再是DOM对象而是jQuery对象 DWR 1.        非常专业的Java Ajax框架 2.        通过DWR框架

XMPPFramework框架简介

1.XMPPFramework框架分为两个部分: (1)XMPP Core(实现了XMPP规范<RFC 3920>) (2)XMPP Extensions(rester,XEP,utiliites) 2.XMPP Core XMPP核心文件包含在XMPP框架的Core文件夹下,包括下面一些文件: XMPPStream:该类是整个框架的核心类,它是你将交互的主要类,并且它是所有的扩展和自定义代码插入类.它提供一些旨在使框架灵活,可扩展,易于开发之上的有趣的功能. XMPPParser:XMPPP

OpenCV-iOS框架的导入与配置

最近在研究OpenCV,在导入的时候遇到了问题,查了官方文档,又在网上找了几圈,没有合适的.自己整理一下! -------------------------------------------------框架的下载------------------------------------------------- 第一种:直接到OpenCV官网去下载(我用的这种方法) 第一步:首先打开官网,首页有当前最新的版本,OpenCV3.2 第二步:点击 iOS framework: sourceforg