前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >iOS XMPP系列教程(Swift)一 概述与环境搭建

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

作者头像
码客说
发布2019-10-22 14:26:08
1.1K0
发布2019-10-22 14:26:08
举报
文章被收录于专栏:码客码客

概述

现在很多软件都加入了聊天功能,也有许多公司直接提供了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文件
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016-03-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概述
  • 环境搭建
    • 服务段
      • iOS端
        • iOS端(方法2)
        • Build Settings中几种Search Paths
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档