第一种方法直接拖

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 环境配置-支持扩展的更多相关文章

  1. ES6笔记(1) -- 环境配置支持

    系列文章 -- ES6笔记系列 虽然ES6已经发布一年多了,但在各大浏览器之中的支持度还不是很理想,在这查看ES6新特性支持度 Chrome的最新版本浏览器大部分已经支持,在Node.js环境上支持度 ...

  2. xmpp 环境配置

    XMPP框架地址:http://xmpp.org/xmpp-software/libraries/ 配置流程

  3. SpringBoot application.yml logback.xml,多环境配置,支持 java -jar --spring.profiles.active

    趁今天有时间整理了一下 启动命令为 //开发环境 java -jar app.jar --spring.profiles.active=dev--server.port=8060 //测试环境 jav ...

  4. SpringBoot application.yml logback.xml,多环境配置,支持 java -jar --spring.profiles.active(转)

    趁今天有时间整理了一下 启动命令为 //开发环境 java -jar app.jar --spring.profiles.active=dev--server.port=8060 //测试环境 jav ...

  5. springboot 多环境配置yml或properties

    https://www.cnblogs.com/mr-yang-localhost/p/8971327.html   springboot 多环境配置 https://blog.csdn.net/li ...

  6. PHP PDO扩展整理,包括环境配置\基本增删改查\事务\预处理

    相关文章:PHP的mysql扩展整理,操作数据库的实现过程分析    PHPmysqli扩展整理,包括面向过程和面向对象的比较\事务控制\批量执行\预处理 介绍 PDO是一种PHP程序连接数据库的接口 ...

  7. XMPP开发环境配置

    首先配置XMPP开发环境配置需要的软件 先安装xampp-osx-1.8.3-5-installer.dmg 安装成功后launchpad里会多出一个XAMPP(其他),点开里面的manager-os ...

  8. 腾讯云环境配置之PHP5.6.3 + redis扩展 稳定版

    腾讯云环境配置之PHP5.6.3 + redis扩展 稳定版 时间:2015-01-18 01:41来源:linux.it.net.cn 作者:IT   #由于上文装过yum groupinstall ...

  9. XMPP框架下微信项目总结(1)环境配置

    xmpp介绍 xmpp基于模块开发的 无须自己写请求 (登陆,注册,获取好友列表,添加/删除好友等) ------>简介 ------------------------- ----->工 ...

随机推荐

  1. bc命令

    bc 命令:     bc 命令是用于命令行计算器. 它类似基本的计算器. 使用这个计算器可以做基本的数学运算. [tough@localhost *|bc [tough@localhost expr ...

  2. 网站网页生成.shtml访问无法显示

    网站换了服务器后发现shtml网页无法访问,原因是没有注册.shtml扩展名,解决方法如下 IIS6.0解析shtm,shtml文件由于IIS6.0的安全性较以前有特别大的改进,所以在很多功能默认情况 ...

  3. DrawerLayout带有侧滑功能的布局类(1)

    DrawerLayout: DrawerLayout顾名思义就是一个管理布局的.使用方式可以与其它的布局类类似. DrawerLayout带有滑动的功能.只要按照drawerLayout的规定布局方式 ...

  4. hdu 1042 N!

    题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=1042 N! Description Given an integer N(0 ≤ N ≤ 10000) ...

  5. C#之玩转反射【转:http://www.cnblogs.com/yaozhenfa/p/CSharp_Reflection_1.html】

    前言 之所以要写这篇关于C#反射的随笔,起因有两个:   第一个是自己开发的网站需要用到   其次就是没看到这方面比较好的文章. 所以下定决心自己写一篇,废话不多说开始进入正题. 前期准备 在VS20 ...

  6. iOS学习之Object-C语言集合遍历和数组排序

    一.集合遍历      1.集合:OC中提供的容器类,数组,字典,集合.      2.遍历:对集合中元素依次取出的过程叫做遍历. 二.for循环遍历      1.通过for循环的循环变量用作数组元 ...

  7. 引用类型a=b

    List<int> list = new List<int>(); list.Add(1); list.Add(2); list.Add(3); Cache["Key ...

  8. 转Oracle字符集问题总结

    Oracle字符集问题总结 分类: Oracle2006-06-04 13:48 1298人阅读 评论(3) 收藏 举报 oracle数据库sqlcharacter存储insert 作者: vston ...

  9. 微软职位内部推荐-SR DEV

    微软近期Open的职位: JD 如果你想试试这个职位,请跟我联系,我是微软的员工,可以做内部推荐.发你的中英文简历到我的邮箱:Nicholas.lu.mail(at)gmail.com

  10. ASCII码排序

    ASCII码排序 时间限制:3000 ms  |  内存限制:65535 KB 难度:2   描述 输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符.   输入 第一行输 ...