iOS XMPP系列教程(Swift)一 概述与环境搭建

2019-10-22 14:26:08 浏览数 (2)

概述

现在很多软件都加入了聊天功能,也有许多公司直接提供了app聊天的组件,简单集成就行,但是弊端在于组件一是要收费,二是不灵活,没法自定义

聊天的协议例如微信 QQ之类都是自己定义的协议,服务器也是自己研发的,效率也会高一点,他们都是用的json作为通讯的数据格式,一个小公司去开发这些是不现实的,幸好有开源的XMPP协议,对应的服务器是openfire XMPP协议的弊端在于数据格式用的早年比较流行的XML,所以传输的数据会稍多一点,不过现在网速已经提上去,这点基本上可以忽略不计

所以小公司用XMPP来做聊天是个不错的选择

环境搭建

服务段

openfire的下载地址

软件下载之后直接安装就行

注意的是 openfire需要的端口一定要对外开放

iOS端

XMPP只是一个协议,iOS有对应的实现 相应的类库可以在github下载

具体的添加步骤为

  • 添加以下的文件夹到工程中 Authentication Categories Core Utilities
  • 添加Vendor下面的CocoaLumberjackCocoaAsyncSocketKissXmllibidn文件夹道工程中,选择copy。
  • 添加苹果的libxml2库 到工程文件中。 在Targets -> BuildSettings -> Search Paths -> Header Search Paths -> -> /usr/include/libxml2
  • 添加苹果的静态链接库 到工程文件中。 Targets -> BuildSettings -> Search Paths -> Library Search Paths -> -> $(PROJECT_DIR)/[项目名]/Lib/Lib-ObjectC/XMPPFramework/Vendor/libidn 路径请根据自己实际的路径配置
  • 添加苹果的动态链接库。 Target -> Build Phases -> Link Binary With Libraries -> -> 选择CFNetwork.frameworklibxml2.dylbSecurity.frameworklibresolv.dylib。 最后确保编译通过。
  • 如果用的swift在桥接头文件中添加引用
代码语言:javascript复制
#import "XMPP.h"
#import "DDXML.h"
#import "XMPPFramework.h"
#import "DDLog.h"
#import "DDTTYLogger.h"

iOS端(方法2)

上面的都不用配置 直接用pod引用

pod 添加依赖

代码语言:javascript复制
pod 'XMPPFramework'

添加引用

代码语言:javascript复制
import XMPPFramework

Build Settings中几种Search Paths

  • Framework Search Paths 主要搜索.framework文件
  • Hearder Search Paths 主要搜索.h文件
  • Library Search Paths 主要搜索.a文件

0 人点赞