(转)xmpp 环境配置-支持扩展
第一种方法直接拖
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 环境配置-支持扩展的更多相关文章
- ES6笔记(1) -- 环境配置支持
		系列文章 -- ES6笔记系列 虽然ES6已经发布一年多了,但在各大浏览器之中的支持度还不是很理想,在这查看ES6新特性支持度 Chrome的最新版本浏览器大部分已经支持,在Node.js环境上支持度 ... 
- xmpp 环境配置
		XMPP框架地址:http://xmpp.org/xmpp-software/libraries/ 配置流程 
- SpringBoot application.yml logback.xml,多环境配置,支持 java -jar --spring.profiles.active
		趁今天有时间整理了一下 启动命令为 //开发环境 java -jar app.jar --spring.profiles.active=dev--server.port=8060 //测试环境 jav ... 
- SpringBoot application.yml logback.xml,多环境配置,支持 java -jar --spring.profiles.active(转)
		趁今天有时间整理了一下 启动命令为 //开发环境 java -jar app.jar --spring.profiles.active=dev--server.port=8060 //测试环境 jav ... 
- springboot 多环境配置yml或properties
		https://www.cnblogs.com/mr-yang-localhost/p/8971327.html springboot 多环境配置 https://blog.csdn.net/li ... 
- PHP PDO扩展整理,包括环境配置\基本增删改查\事务\预处理
		相关文章:PHP的mysql扩展整理,操作数据库的实现过程分析 PHPmysqli扩展整理,包括面向过程和面向对象的比较\事务控制\批量执行\预处理 介绍 PDO是一种PHP程序连接数据库的接口 ... 
- XMPP开发环境配置
		首先配置XMPP开发环境配置需要的软件 先安装xampp-osx-1.8.3-5-installer.dmg 安装成功后launchpad里会多出一个XAMPP(其他),点开里面的manager-os ... 
- 腾讯云环境配置之PHP5.6.3 + redis扩展 稳定版
		腾讯云环境配置之PHP5.6.3 + redis扩展 稳定版 时间:2015-01-18 01:41来源:linux.it.net.cn 作者:IT #由于上文装过yum groupinstall ... 
- XMPP框架下微信项目总结(1)环境配置
		xmpp介绍 xmpp基于模块开发的 无须自己写请求 (登陆,注册,获取好友列表,添加/删除好友等) ------>简介 ------------------------- ----->工 ... 
随机推荐
- 为了android sdk下载,必须修改hosts
			#Download 下载 203.208.46.146 dl.google.com 203.208.46.146 dl-ssl.google.com #Groups 203.208.46.146 gr ... 
- 使用dom4j技术对xml文件的基本操作
			1.pojo类:Notice package com.green.notice.storage; import java.util.ArrayList; import java.util.List; ... 
- 11G ORACLE RAC DBCA 无法识别asm磁盘组
			ASM磁盘无法识别几种现象: 1) gi家目录或者其子目录权限错误 2)asm磁盘的权限错误 3)asm实例未启动或者asm磁盘组没有mount上 4)asm磁盘组资源没有在线 5)oracle用户的 ... 
- 切换两个activity
			下面是一个切换两个activity是过度动画效果实例:(注意里面的overridePendingTransition()方法)Java代码 1. @Override public void onCre ... 
- 安装RubyMine
			在mac上安装RubyMine的方法: 1.运行 brew cask install rubymine 自动安装. 2.按提示安装java更新. 3.RubyMine注册码: name: rubym ... 
- linux CentOS 系统下如何将php和mysql命令加入到环境变量中
			在Linux CentOS系统上安装完php和MySQL后,为了使用方便,需要将php和mysql命令加到系统命令中,如果在没有添加到环境变量之前,执行“php -v”命令查看当前php版本信息时时, ... 
- Android开发随笔之ScrollView嵌套GridView[ 转]
			今天在开发中用到了需要ScrollView嵌套GridView的情况,由于这两款控件都自带滚动条,当他们碰到一起的时候便会出问题,即GridView会显示不全,为了解决这个问题查了N多资料,某个谷歌的 ... 
- C# 生成XML 多级节点
			直接上代码: 在应用程序中 class Program { //public static JsonServiceClient Service = new JsonServiceClient(Conf ... 
- vim时,ctrl+s了一下,程序僵死了
			刚刚在用vim的时候,按了ctrl+s,然后僵死了,ctrl+c.ctrl+d都没有反应. 不知怎么回事,差点就把它kill了,想探探究竟,网上查了一下,原来原来,这是个快捷键. ctrl+s 锁定屏 ... 
- JAVA数据结构-----枚举
			枚举(Enumeration)接口虽然它本身不属于数据结构,但它在其他数据结构的范畴里应用很广. 枚举(The Enumeration)接口定义了一种从数据结构中取回连续元素的方式. 例如,枚举定义了 ... 
