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的主要解析框架
如果你不是在董铂然博客园看到本文请 点击查看原文
接下来将会整理,用户管理模块和信息发送模块,有兴趣的欢迎关注我
xmpp整理笔记:xmppFramework框架的导入和介绍的更多相关文章
- xmpp整理笔记:发送图片信息和声音信息
图片和音频文件发送的基本思路就是: 先将图片转化成二进制文件,然后将二进制文件进行base64编码,编码后成字符串.在即将发送的message内添加一个子节点,节点的stringValue(节点的值) ...
- xmpp整理笔记:聊天信息的发送与显示
任何一个信息的发送都需要关注两个部分,信息的发出,和信息在界面中的显示 往期回顾: xmpp整理笔记:环境的快速配置(附安装包) http://www.cnblogs.com/dsxniubilit ...
- xmpp整理笔记:用户网络连接及好友的管理
xmpp中的用户连接模块包括用户的上线与下线信息展现,用户登录,用户的注册: 好友模块包括好友的添加,好友的删除,好友列表的展示. 在xmpp中 负责数据传输的类是xmppStream,开发的过程中, ...
- xmpp整理笔记:环境的快速配置(附安装包)
现在虽然环信的xmpp框架很火,但是也有一些弊端.环信的框架部分代码不开源,而且收费模式不科学,用户量一直低于免费线则好,一旦超过,收费极高. xmpp感觉还是从xmppFramework框架学起比较 ...
- ios xmppFramework框架的导入步骤和介绍
一个将要开发xmpp的项目,建议在项目刚创建就导入框架,这样可以避免一些自己操作失误造成不必要的损失. xmpp中最常用的框架就是 xmppFrameWork 第一种方法直接拖 1> 拖入文件夹 ...
- (六十七)Xcode导入XMPPFramework框架
首先下载XMPPFramework框架,将Vendor内容导入到工程中,其中KissXML需要额外的框架,需要通过Xcode设置. 选择工程选项中TARGETS的General标签,最下侧有Linke ...
- 手动导入XMPPFramework框架
环境: Xcode 8.2.1 XMPPFramework 3.6.5 (下载地址) Objective-C (项目使用的语言,最新版的3.7.0要求convert to swift) 1.下载XMP ...
- XMPPFramework 框架
https://blog.csdn.net/qq_29846663/article/details/70170646 2017-04-14 11:37:02 于海明 阅读数 478更多 分类专栏: i ...
- canvas学习之API整理笔记(二)
前面我整理过一篇文章canvas学习之API整理笔记(一),从这篇文章我们已经可以基本了解到常用绘图的API.简单的变换和动画.而本篇文章的主要内容包括高级动画.像素操作.性能优化等知识点,讲解每个知 ...
随机推荐
- 2015年,从毕业到工作的几点感悟(Android开发新人)
锄禾日当午,汗滴禾下土. 2015年,从毕业到工作的几点感悟(Android开发): 多用三方类库:(成长经验:尽量不要自己手动实现网络上已经有的优秀开源类库的功能,例如: 网络请求:常见 ...
- JavaScript基础—闭包,事件
Js基础-闭包,事件 1:js中的闭包 概念:在一个函数内部又定义了一个函数,内部函数能访问到外部函数作用域范围内的变量,这时这个内部函数就叫做闭包,无论这个内部函数在哪里被调用都能访问到外部函数作用 ...
- 检测IP地址的正则表达式
正则表达式: ((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?) ((2[0-4]\d|25[0-5]|[01]?\d\ ...
- js动态显示表格的汇总信息和详细信息
我在做数据结果展示的时候,想要实现一个如下的功能: 用户可以选择一个时间段,默认显示这个时间段的汇总数据,当鼠标点击这个时间段的时候,将显示每个时间点的详细数据,再次点击的时候,详细数据收起,只 ...
- Java/Android引用类型及其使用分析
Java/Android中有四种引用类型,分别是: Strong reference - 强引用Soft Reference - 软引用Weak Reference - ...
- Java NIO:浅析I/O模型
也许很多朋友在学习NIO的时候都会感觉有点吃力,对里面的很多概念都感觉不是那么明朗.在进入Java NIO编程之前,我们今天先来讨论一些比较基础的知识:I/O模型.下面本文先从同步和异步的概念 说起, ...
- 最短路径---Dijkstra/Floyd算法
1.Dijkstra算法基础: 算法过程比prim算法稍微多一点步骤,但思想确实巧妙也是贪心,目的是求某个源点到目的点的最短距离,总的来说dijkstra也就是求某个源点到目的点的最短路,求解的过程也 ...
- Oracle--(Hierarchical Queries)层级查询
内容来自: Oracle® Database SQL Language Reference 11g Release 2 (11.2) E41084-03. empolyees表来自hr方案,wareh ...
- Ado.net 三[SQL注入,DataAdapter,sqlParameter,DataSet]
1.SQL注入:SQL注入攻击是web应用程序的一种安全漏洞,可以将不安全的数据提交给运用程序,使应用程序在服务器上执行不安全的sql命令.使用该攻击可以轻松的登录运用程序. 例如:该管理员账号密码为 ...
- LeetCode121:Best Time to Buy and Sell Stock
题目: Say you have an array for which the ith element is the price of a given stock on day i. If you w ...