本文介绍如何应用swift疾速集成环信即时通讯 IM iOS SDK 实现单聊。
前提条件
• Xcode (举荐最新版本)。
• 装置 iOS 10.0 或更高版本的 iOS 模拟器或 Apple 设施。
• CocoaPods 1.10.1 或更高版本。
• 无效的环信即时通讯 IM 开发者账号(注册环信账号)和 App Key,见 环信即时通讯云治理后盾。
• 如果你的网络环境部署了防火墙,请分割环信技术支持设置白名单。
集成形式
应用CocoaPods来增加环信SDK,具体步骤如下:
platform :ios, '9.0'
use_frameworks!
target 'YourTarget' do
pod 'HyphenateChat', '~> 4.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.登录环信服务器
EMClient.shared().login(withUsername: "yourUsername", password: "yourPassword") { (aUserName, aError) in if aError != nil { //登录失败解决 print("\(aUserName) login fail") }else { //登录胜利解决 print("\(aUserName) login success") } }
6.发送音讯
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) in if let error = aError { // 发送失败解决 } else { // 发送胜利解决 }}
至此,即时通讯的基本功能曾经集成完,如果您在集成中遇到问题能够随时分割环信技术支持或IMGeek社区发问。
SDK地址:https://www.easemob.com/download/im
IMGeek社区:https://www.imgeek.net/