第一种方法直接拖

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. viewPager+Handler+Timer简单实现广告轮播效果

    基本思想是在Avtivity中放一个ViewPager,然后通过监听去实现联动效果,代码理由详细的解释,我就不说了. MainActivity.java package com.example.adm ...

  2. iOS 中使用md5加密

    #import <CommonCrypto/CommonDigest.h> @implementation MD5Util +(NSString *)encode:(NSString *) ...

  3. Android实现AppWidget、Broadcast动态注册

    Android实现AppWidget.Broadcast动态注册 开发工具:Andorid Studio 1.3 运行环境:Android 4.4 KitKat 工程内容 主界面可以编辑广播的信息,点 ...

  4. sqlite与C++进行连接

    SQLite数据库是零配置的,sqlite数据库不同于SqlServer等数据库,SQLite不需要复杂配置,只需要,将SQLite的库文件和动态链接文件拷贝到相应工程目录下,就可以使用SQLite数 ...

  5. IOS之UIView的tag学习

    tag是UIView的一个属性,而且要求tag值唯一.父视图可以通过tag来找到一个子视图 UIView *redView = [[UIView alloc]initWithFrame:CGRectM ...

  6. git简单入门

    git简单入门 标签(空格分隔): git git是作为程序员必备的技能.在这里就不去介绍版本控制和git产生的历史了. 首先看看常用的git命令: git init git add git comm ...

  7. C#开源系统大汇总(转)

    一.AOP框架        Encase 是C#编写开发的为.NET平台提供的AOP框架.Encase 独特的提供了把方面(aspects)部署到运行时代码,而其它AOP框架依赖配置文件的方式.这种 ...

  8. 本人在安装ADT Bundle for windows的各种问题总结

    本人在安装ADT Bundle for windows的各种问题总结 1.解决国内访问Google服务器的困难: 1.启动 Android SDK Manager : 2.打开主界面,依次选择「Too ...

  9. android ViewPaper高度自适应

    tv_btn_web.measure(0, 0);//计算所需的真实宽高 LayoutParams params=vp_btn_menu.getLayoutParams(); params.heigh ...

  10. 【转】eclipse技巧2

    谈谈eclipse使用技巧二 上节说道了怎么使用eclipse使您事半功倍.这节告诉您怎么用eclipse练成火眼金睛. ①借你一双火眼金睛让类的层次结构一目了然让你阅读代码如虎添翼 一个好的类的层次 ...