创了一个XMPP即时通讯交流群140147825,欢迎大家来交流~我们是一起写代码的弟兄~

xmpp协议开发即时通讯,最常用的就是XMPPFramework。

第一种方法,是直接拖进项目

1、可以下载Demo,从Demo中拖,也可以下载XMPPFramework框架。

重要的就是这几个文件夹还有XMPPFramework.h和XMPPConfig.h这两个文件。

2、在Linked Frameworks and Libraries中添加一些必要的框架

 CFNetwork.framework

Security.framework

libxml2.dylib

libresolv.dylib

  libin.a

3、修改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"

配置到这里,就可以啦

下面介绍一下框架结构,共有这么几个文件夹

Authentication    授权,身份验证

Categories         分类

Core                  核心

Extensions         扩展

Utilities              工具

Vendor              第三方库

1、在Extensions中:

CoreDataStorage   coreData存储

Reconnect         重新连接

Roster               好友管理

                        有数据表 XMPPRoster 用来管理用户

                        管理用户的类 XMPPUserCoreDataStorageObject

SystemInputActivityMonitor     系统输入的活动监控

2、在core中:

XMPPElement        是一个基类 ,延展出三个子类

XMPPIQ         请求 (用户登录,用户注册,添加好友等)

XMPPMessage    消息(用来发各种消息等)

XMPPPresence    展现(用户上线下线提示等)

XMPPStream    流,非常常用,大部分类的加载都在写在流的懒加载里

3、在vender中:

kissXML     用于xml的主要解析框架

下一篇将向大家介绍用户登录的相关内容,正式进入敲代码环节。

创了一个XMPP即时通讯交流群140147825,欢迎大家来交流~我们是一起写代码的弟兄~

iOS开发--XMPPFramework--框架的导入(二)的更多相关文章

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

    一个将要开发xmpp的项目,建议在项目刚创建就导入框架,这样可以避免一些自己操作失误造成不必要的损失. xmpp中最常用的框架就是 xmppFrameWork 第一种方法直接拖 1> 拖入文件夹 ...

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

    一个将要开发xmpp的项目,建议在项目刚创建就导入框架,这样可以避免一些自己操作失误造成不必要的损失. xmpp中最常用的框架就是 xmppFrameWork 往期回顾: xmpp整理笔记:环境的快速 ...

  3. iOS开发基础框架

    ---恢复内容开始--- //appdelegate ////  AppDelegate.m//  iOS开发架构////  Copyright © 2016年 Chason. All rights ...

  4. iOS 开发中的争议(二)

    这是该系列的第二篇.在本文中,我想讨论的是:对于 UI 界面的编写工作,到底应该用 xib/storyboard 完成,还是用手写代码来完成? 本着 “使用过才有发言权” 原则,我介绍一下我的经历: ...

  5. iOS开发UIKit框架-可视化编程-XIB

    1. Interface Builder 可视化编程 1> 概述 GUI : 图形用户界面(Graphical User Interface, 简称GUI, 又称图形化界面) 是指采用图形方式显 ...

  6. iOS开发-网络框架-b

    网络框架(以下称NJAFNetworking)是基于AFNetworking框架的简单封装,基本功能包括POST请求,GET请求,上传文件,下载文件,网络状态,缓存等. 为什么要使用NJAFNetwo ...

  7. iOS开发工程师面试题(二)

    1.手写冒泡跟插入排序 冒泡排序来源于生活常识,相当于把数组竖起来,轻的向上,重的向下.void bubbleSort(int[] unsorted) { ; i < unsorted.Leng ...

  8. iOS开发——UI进阶篇(二)自定义等高cell,xib自定义等高的cell,Autolayout布局子控件,团购案例

    一.纯代码自定义等高cell 首先创建一个继承UITableViewCell的类@interface XMGTgCell : UITableViewCell在该类中依次做一下操作1.添加子控件 - ( ...

  9. iOS开发之静态库(二)—— .a

    前面已经介绍了iOS中静态库的基本概念和特点,这里就不再多废话,直接上代码 编译环境Xcode5.1 + Mac OS X 10.9.3 新建静态库项目 Xcode中创建静态库的模板有两个,一个是创建 ...

随机推荐

  1. git使用基本故障

    warning: LF will be replaced by CRLF in README.md. The file will have its original line endings in y ...

  2. 设置修改CentOS系统时区

    一.时区 1. 查看当前时区date -R 2. 修改设置时区方法(1)tzselect方法(2) 仅限于RedHat Linux 和 CentOS系统timeconfig方法(3) 适用于Debia ...

  3. win7本地连接消失

    可能原因一 驱动程序错误: 右键"计算机"图标 - "属性" - 设备管理器现在在设备管理器下面找到"网络适配器",在下面的网卡驱动中发现有 ...

  4. 织梦使用if判断某个字段是否为空

    织梦如何使用if判断某个字段是否为空呢?我们以文章页调用文章摘要为例: 使用if语句判断摘要是否为空,如果有摘要就显示摘要模块,如果没有就不显示 {dede:field.description run ...

  5. Dynamics CRM 2015-Ribbon In Basic Home Tab

    前文中有说到关于Form上Ribbon的配置以及控制,而Ribbon Button还可以在其它地方的配置,今天就来说说在Basic Home Tab里面的配置,效果图如下: 具体配置Customiza ...

  6. crack the coding interview

    crack the coding interview answer c++ 1.1 #ifndef __Question_1_1_h__  #define __Question_1_1_h__  #i ...

  7. position的四种定位方式:static、fixed、relative、absolute

    position属性用来规定元素的定位类型和方式 ①position:static 默认值,没有定位,元素出现在正常的流中: ②position:fixed  固定定位 是相对于浏览器窗口来进行定位: ...

  8. java并发 - 自底向上的原理分析

    [TOC] 事先声明,我只是java并发的新手,这篇文章也只是我阅读<java并发编程的艺术>一书(内容主要涉及前3章)的一些总结和感悟.希望大家能多多讨论,对于错误的地方还请指出. 0. ...

  9. PAT All Roads Lead to Rome 单源最短路

    思路:单源最短路末班就好了,字符串映射成数字处理. AC代码 //#define LOCAL #include <stdio.h> #include <string.h> #i ...

  10. 使用org.apache.commons.logging打日志注意事项

    使用方法:例如,protected final Log logger = LogFactory.getLog(getClass());if (logger.isDebugEnabled()) { lo ...