这是本文档旧的修订版!


iOS SDK 介绍及导入


iOS SDK 采用模块化设计,每一模块的功能相对独立和完善,用户可以根据自己的需求选择使用下面的模块:

模块化设计

  • EMClient: 是 SDK 的入口,主要完成登录、退出、连接管理等功能。也是获取其他模块的入口。
  • EMChatManager: 管理消息的收发,完成会话管理等功能。
  • EMContactManager: 负责好友的添加删除,黑名单的管理。
  • EMGroupManager: 负责群组的管理,创建、删除群组,管理群组成员等功能。
  • EMChatroomManager: 负责聊天室的管理。

注意:如果您是从 SDK2.x 升级到 3.0,可以参考环信 SDK 2.x到3.0升级文档

以下是SDK集成参考视频,您可以通过视频学习如何集成环信SDK。

从官网上下载下来的包中分为如下五部分:

  • 环信 iOS HyphenateSDK 开发使用(不包含实时通话功能)
  • 环信 iOS HyphenateFullSDK 开发使用(包含实时通话功能)
  • 环信 iOS doc SDK 相关API文档
  • 环信 iOS ChatUIDemo3.0 工程源码
  • 环信 iOS EaseUI 工程源码
  • 环信 iOS chatdemo-ui-3.x.x.ipa 打包的 ipa

具体接口讲解请转到 Apple Docs

Demo 中用到的第三方库:

  • Parse.framework、Bolts.framework: Demo 中的用户信息存储在 Parse,这两个库是 Parse 所需要的库,开发者如果没用 Parse 存储,不要复制到自己项目中
  • libMobClickLibrary.a: 友盟相关的库,用于环信 Demo 基本信息的统计,开发者不用或者已有别的版本的库不要复制到自己项目

以上步骤进行完后,编译工程。如果没有报错,恭喜你,集成 SDK 成功,可以进行下一步了。

由于 iOS 编译的特殊性,为了方便开发者使用,我们将 i386 x86_64 armv7 arm64 几个平台都合并到了一起,所以使用动态库上传appstore时需要将i386 x86_64两个平台删除后,才能正常提交审核

在SDK当前路径下执行以下命令删除i386 x86_64两个平台
bak文件是备份目录,上传appstore之后需要替换回bak目录下的SDK
实时音视频版本Hyphenate.framework

mkdir ./bak
cp -r Hyphenate.framework ./bak
lipo Hyphenate.framework/Hyphenate -thin armv7 -output Hyphenate_armv7
lipo Hyphenate.framework/Hyphenate -thin arm64 -output Hyphenate_arm64
lipo -create Hyphenate_armv7 Hyphenate_arm64 -output Hyphenate
mv Hyphenate Hyphenate.framework/

不包含实时音视频版本HyphenateLite.framework

mkdir ./bak
cp -r HyphenateLite.framework ./bak
lipo HyphenateLite.framework/HyphenateLite -thin armv7 -output HyphenateLite_armv7
lipo HyphenateLite.framework/HyphenateLite -thin arm64 -output HyphenateLite_arm64
lipo -create HyphenateLite_armv7 HyphenateLite_arm64 -output HyphenateLite
mv HyphenateLite HyphenateLite.framework/