本文介绍如何使用swift快速集成环信即时通讯 IM iOS SDK 实现单聊。

前提条件

• Xcode (推荐最新版本)。
• 安装 iOS 10.0 或更高版本的 iOS 模拟器或 Apple 设备。
• CocoaPods 1.10.1 或更高版本。
• 有效的环信即时通讯 IM 开发者账号(注册环信账号)和 App Key,见 环信即时通讯云管理后台。
• 如果你的网络环境部署了防火墙,请联系环信技术支持设置白名单。

集成方式

使用CocoaPods来添加环信SDK,具体步骤如下:

platform :ios, ‘10.0’
use_frameworks!

target ‘YourTarget’ do
pod ‘HyphenateChat’, ‘~> 4.0.2’
end

然后在终端中运行pod install,即可将环信SDK添加到项目中。

因为环信sdk是OC的代码,所以需要创建桥接文件(Bridging Header)来让Swift可以调用Objective-C的代码和库。下面是创建桥接文件的步骤:

1. 创建桥接文件

在Xcode项目中,选择File -> New -> File…,在弹出的对话框中选择iOS -> Source -> Header File,然后给该文件起一个名字,例如YourProjectName-Bridging-Header.h

2.配置桥接文件选项

在桥接文件的属性中,设置Objective-C Bridging Header选项。具体操作如下:
• 选中项目,在Xcode菜单中选择Build Settings
• 在搜索框中输入bridging header,找到Objective-C bridges Header选项
• 双击该选项,然后在弹出的对话框中输入桥接文件的路径,例如$(SRCROOT)/YourProjectName/YourProjectName-Bridging-Header.h

3.导入Objective-C头文件

// YourProjectName-Bridging-Header.h
#import <HyphenateChat/HyphenateChat.h>

4.初始化环信SDK

在AppDelegate.swift文件中的application(_:didFinishLaunchingWithOptions:)方法中初始化环信SDK。以下是初始化代码示例:

      let options = EMOptions(appkey: "yourappkey#demo")
let error = EMClient.shared().initializeSDK(with: options)if error == nil {//初始化成功} else {//初始化失败}

5.登录环信服务器

注册服务端账号:http://docs-im-beta.easemob.com/document/server-side/account_system.html

EMClient.shared().login(withUsername: "yourUsername", password: "yourPassword") { (aUserName, aError) inif aError != nil {//登录失败处理print("\(aUserName) login fail")}else {//登录成功处理print("\(aUserName) login success")}}

6.发送消息

初始化聊天页面文档链接:http://docs-im-beta.easemob.com/document/ios/quickstart.html#_4-

let chatText = "Hello, World!"
let message = EMChatMessage(conversationID: "yourConversationID", from: "yourFrom", to: "yourTo", body: EMTextMessageBody(text: chatText), ext: ["yourKey": "yourValue"])
message.chatType = EMChatTypeChat // 设置为单聊消息
EMClient.shared().chatManager?.send(message, progress: nil) { (aMessage, aError) inif let error = aError {// 发送失败处理} else {// 发送成功处理}
}

至此,即时通讯的基本功能已经集成完,如果您在集成中遇到问题可以随时联系环信技术支持或IMGeek社区提问。

SDK地址:https://www.easemob.com/download/im
IMGeek社区:https://www.imgeek.net/

环信即时通讯SDK集成——如何使用Swift快速集成环信IM iOS SDK并实现单聊相关推荐

  1. 环信IM SDK使用(一):集成环信SDK及注意事项

    环信IM SDK可以帮助用户快速开发IM相关的应用.如何快速集成环信IM SDK呢? 首先附上环信官网的集成SDK的文档:Android SDK 介绍及导入 一.集成环信IM SDK 1.申请环信Ap ...

  2. 【快速搞定】教你如何快速集成环信(android端EaseUI),跳过我踩过的坑

    [快速搞定]教你如何快速集成环信(android端EaseUI),跳过我踩过的坑 一.前言 最近,公司准备集成一个即时通讯的功能,于是我找到了环信,于是我就这样被坑了,于是就有了本文来教大家如何跳出我 ...

  3. android 环信集成,Android Studio下的环信即时通讯简单集成

    环信即时通讯云是全球最大的即时通讯云 PaaS 平台,可以快速实现APP的即时通讯的功能,官方的DEMO是基于Eclipse开发的,对于新版本的Android Studio支持不太好,下面就简单说一下 ...

  4. 环信即时通讯SDK集成——实战:快速实现iOS应用中集成即时通讯IM和UI

    准备 熟练objective-c语言 有一台mac电脑,并安装了xcode 和 cocoapods 目标 手把手教大家在iOS应用中集成即时通讯IM 功能 内容篇幅较长,需要内心平和耐心看下去,务必戒 ...

  5. 环信即时通讯SDK集成——环信 uni-app-demo 升级改造计划——整体代码重构优化(二)

    概述 本次关于 uni-app 代码整体重构工作,基于上一期针对 uni-app 官网 demo 从 vue2 迁移 vue3 框架衍生而来,在迁移过程中有明显感知,目前的项目存在的问题为,项目部分代 ...

  6. vue2集成声网-环信即时通讯SDK,建议实现两人聊天

    1.注册登陆环信并创建用户 步骤:注册 => 登录 => 创建应用 => 创建应用用户 登录注册:环信登陆注册页面(https://console.easemob.com/user/ ...

  7. 环信即时通讯集成过程

    最近一直挺忙,使用了一些第三方的东西,也遇见了不少的问题,前面使用的一些还好,比如推送,分享这些第三方都比较容易集成,这次集成环信的即时通讯还是费了一些周折,刚弄完,赶紧记录一下. 一.前期需要注意的 ...

  8. 环信即时通讯单聊集成,添加好友,实现单聊

    前段时间由于项目需要,了解一下环信即时通讯,然后自己通过查资料写了一个基于环信的单聊demo,一下是源码,希望可以帮助到需要的小伙伴. 首先,我们要去环信官网注册账号,这个我就不多说了,注册完登录,创 ...

  9. 环信 即时通讯sdk实现客服功能

    仅适用于已经集成环信 即时通讯sdk,又需求实现客服功能,而不更换sdk. 下面的api环信 即时通讯并没有在文档中暴露,是我咨询了环信客服后知道的 核心就是 给 Message对象  setAttr ...

最新文章

  1. SQL SERVER:SQLDMO库文件的组成
  2. Vue实现仿音乐播放器4-Vue-router实现音乐导航菜单切换
  3. java-final关键字
  4. 《从零开始学Swift》学习笔记(Day 40)——析构函数
  5. 工作任务(2012-01-03)
  6. 简述相关与回归分析的关系_分类数据与分类数据的相关关系分析
  7. 浏览器兼容性问题汇总
  8. Linux对变量的截取替换
  9. LiveNVR传统安防摄像机互联网直播-主要功能模块及相关技术特点与性能指标
  10. 使用PhoneNumberValidator判断用户输入的电话格式,并用PhoneFormatter对电话号码格式化。...
  11. linux多进程通过中断实现,关于Linux内核源码中是如何区别进程上下文和中断上下文...
  12. Python:2行代码实现文字转语音
  13. Unity3D 退出游戏应用的代码
  14. 旋转矩阵(Rotation matrix):旋转轴与旋转角 ( axis and angle )
  15. 指投:3 常见的指数基金品种
  16. C++下的utility
  17. Tableau 将 null 值显示在 0 处 (ZN 函数 或 显示特殊值)
  18. 一个AI小白如何理解近似匹配检索
  19. c++ hough变换代码_基于Haar小波和Log-Gabor变换的虹膜识别方法
  20. WEBDisk网络硬盘

热门文章

  1. python剔除最小值_从同一行cod的列表中删除最小值和最大值
  2. 6天6夜 老婆产经 老公陪产 虎虎出世全纪录【3】
  3. 中国国产操作系统有哪些
  4. 名帖322 启功 行书《自作诗十二屏》
  5. H3C--AC无线控制器版本升级
  6. 写在腾讯大讲堂演讲之后
  7. 看完男博士的择偶标准,才知道他们为什么找不到对象!
  8. Python学子之如何退出python 命令行
  9. 转行python开发工程师理由_零基础转行Python前你应该思考以下几点
  10. SQL查询语句练习(40道)