现在的位置: 首页 > 综合 > 正文

【IOS开发】 XMPP 简介和 XMPP 框架导入工程文件

2018年04月19日 ⁄ 综合 ⁄ 共 2098字 ⁄ 字号 评论关闭

翻译自XMPP GettingStart
介绍页


原理介绍

简介

XMPP是一种基于标准通用标记语言的子集XML协议,具有超强的可拓展性。经过拓展的XMPP可以通过发送拓展的信息来处理用户需求。XMPP包含了正对服务端的软件协议,使之能够与另一个进行通话。XMPP以Jabber协议为基础,而Jabber是即时通讯中常用的开放式协议。目前由IETF国际标准组织完成标准化工作。

标准化的核心分为两个部分

  • 核心的XML流传输协议
  • 基于XMLFreeEIM流传输的即时通讯扩展应用(这部分支持语音和视频)

优点:

开放,它是开放源码的,自由开放公开。
标准化,IETF 互联网工程工作小组标准化
成熟,第一个jabber技术是在1998年开发的,现在已经相当稳定

开始使用XMPPFramework

本文演示一个运行了XMPPFramework框架的项目demo,这不是一个成熟的应用,仅仅展示了框架的使用方法。本demo仅仅使用了框架的一部分功能。当你决定添加XMPP框架到你自己的IOS应用中,本文将提供详细的介绍。最好按照流程一步一步来,不要跳过某些步骤。

Setp1:

下载最新的代码

Step2

框架有几个依赖的文件,当你把XMPPFramework拿下来的时候,已经自动放在Vendor文件夹下面。我们将把每一个依赖文件过一遍。

第一个依赖包是CocoaLumberjack,它的位置:Vendor/CocoaLumberjack。拖进工程选择copy,确保项目能够编译。

Step3
第二个依赖包是CocoaAsyncSocket,它的位置:Vendor/CocoaAsyncSocket,拖进工程选择copy。
这个包需要你添加苹果的CFNetwork framework和Security framework。Target -> Build Phases -> Link Binary With Libraries -> + ->选择CFNetwork framework和Security framework。添加完后,确保项目能够编译。
Step4
第三个依赖包是KissXml,在Vendor/KissXML 可以找到。KissXML使用libxml2,你需要添加苹果的libxml2库 到工程文件中。在Targets->BuildSettings->Search Paths-> + ->/usr/include/libxml2

libxml2.需要你添加苹果的CFNetwork framework和Security framework。Target -> Build Phases -> Link Binary With Libraries -> + ->选择libxml2.dylb。

添加完后,确保项目能够编译

Step5
第四个,也是最后一个依赖包是LIBLdn,添加下面的三个文件到Xcode工程文件

  • Vendor/libidn/idn-int.h
  • Vendor/libidn/stringprep.h
  • Vendor/libidn/libidn.a

最后一个文件是静态库,支持x86*64, i386, ppc, armv6, armv7指令集,因此比较大1.3M。但你的应用打包时,它只会解压你的应用需要用到的指令集对应的文件,所以不用担心应用程序文件变大。添加完成后,确保项目能够编译。

Step6
添加以下的文件夹到工程中

  • Authentication
  • Categories
  • Core
  •  Utilities

Target -> Build Phases -> Link Binary With Libraries -> + ->选择libresolv.dylib,添加完后,确保项目能够编译。

现在你已经可以开始使用XMPPFramwork 在你的项目中,
以下页面你可以了解它的使用

https://github.com/robbiehanson/XMPPFramework/wiki/IntroToFramework


————————————————————我是分割线————————————————————


最后吐槽一下这个
XMPP GettingStart 介绍页
, 明明三言两语就能说清楚的,罗里吧嗦一大堆。

最后我自己的整理版本是这样的:

添加以下的文件夹到工程中

  • Authentication
  • Categories
  • Core
  •  Utilities


添加Vendor下面的CocoaLumberjack、CocoaAsyncSocket、KissXml、LIBLdn文件夹道工程中,选择copy。

添加苹果的libxml2库 到工程文件中。在Targets->BuildSettings->Search Paths-> + ->/usr/include/libxml2

添加苹果的动态链接库。Target -> Build Phases -> Link Binary With Libraries -> + ->选择CFNetwork framework、libxml2.dylb、Security framework、libresolv.dylib。

最后确保编译通过。


厚吾http://blog.csdn.net/mangosnow

本文遵循“署名-非商业用途-保持一致”创作公用协议

抱歉!评论已关闭.