导入 SDK
您可以使用 CocoaPods 导入或手动导入,将 IMKit SDK 集成到您的应用工程中。您可以选择如下任意一种方式:
- 使用 CocoaPods 添加远程依赖项,导入 Framework
- 使用 CocoaPods 添加远程依赖项,导入 IMKit SDK 源码
- 手动导入 Framework(手动集成不支持导入源码)
环境要求
名称 | 版本 |
---|---|
Xcode | 11 + |
iOS | 9.0 + |
CocoaPods | 1.10.0 + |
如需安装 CocoaPods 环境,请参照 安装 CocoaPods。CocoaPods 版本必须为 1.10.0 或更 新版本。具体请查看知识库文档:
检查版本
在导入 SDK 前,可以前往融云官网 SDK 下载页面确认当前最新版本号。
CocoaPods
CocoaPods 用户可以导入 Framework 或导入 IMKit 源码。
请选用同一种方式导入 IMKit 及其插件,不要混用 Framework 和源码。详见SDK 开源代码说明。
导入 Framework
-
在
podfile
中 添加如下内容:pod 'RongCloudIM/IMKit','~> x.y.z' #IMKit
pod 'RongCloudIM/Sight','~> x.y.z' #小视频(可选)
pod 'RongCloudIM/RongSticker','~> x.y.z' #表情(可选)
pod 'RongCloudIM/ContactCard','~> x.y.z' #名片(可选)
pod 'RongCloudIM/LocationKit','~> x.y.z' #位置(可选)提示x.y.z
代表具体版本,请在融云官网 SDK 下载页面或 CocoaPods 仓库查询最新版本。- 5.2.3 及之后的 SDK,不再内置位置插件(LocationKit),您可以根据需要手动集成。5.2.3 之前的 SDK 已内置位置插件,无需手动集成。
-
请在终端中运行以下命令:
pod install
提示如果出现找不到相关版本的问题,可先执行
pod repo update
,再执行pod install
。 -
上一步完成后,CocoaPods 会在您的工程根目录下生成一个
xcworkspace
文件,只需通过 Xcode 打开该文件即可加载工程。 -
引用库参考
#import <RongIMKit/RongIMKit.h>
#import <RongSight/RongSight.h>
#import <RongSticker/RongSticker.h>
#import <RongContactCard/RongContactCard.h>
#import <RongLocationKit/RongLocationKit.h>
导入源码
IMKit SDK 5.0 及以上版本 UI 相关库开放了源代码,支持在 CocoaPods 中以源码形式进行调试与集成。
-
在
podfile
中添加如下内容:pod 'RongCloudOpenSource/IMKit','x.y.z' #IMKit,含会话列表页面,会话页面,输入工具栏
pod 'RongCloudOpenSource/Sight','x.y.z' #小视频(可选)
pod 'RongCloudOpenSource/RongSticker','x.y.z' #表情(可选)
pod 'RongCloudOpenSource/IFly','x.y.z' #语音输入(可选)
pod 'RongCloudOpenSource/ContactCard','x.y.z' #名片(可选)
pod 'RongCloudOpenSource/LocationKit','x.y.z' #位置(可选)提示x.y.z
代表具体版本,各个 SDK 的最新版本号可能不同,在融云官网 SDK 下载页面或 CocoaPods 仓库能查询到。IFly
(语音输入)插件仅支持以源码方式导入。如需使用该插件,请务必以源码方式集成 IMKit SDK。- IMKit 5.1.8 之前,名片插件(ContactCard)仅支持以源码方式导入,且要求必须同样以源码方式集成 IMKit SDK。
- IMKit 5.1.8 及之后,名片插件(ContactCard)支持以源码方式或以 Framework 方式导入 。请选用同一种方式导入 IMKit 及其插件,不要混用 Framework 和源码。
-
请在终端中运行以下命令:
pod install
提示如果出现找不到相关版本的问题,可先执行
pod repo update
,再执行pod install
。 -
上一步完成后,CocoaPods 会在您的工程根目录下生成一个
xcworkspace
文件,只需通过 Xcode 打开该文件即可加载工程。 -
引用库参考:
#import <RongCloudOpenSource/RongIMKit.h>
#import <RongCloudOpenSource/RongSight.h>
#import <RongCloudOpenSource/RongSticker.h>
#import <RongCloudOpenSource/RongiFlyKit.h>
#import <RongCloudOpenSource/RongContactCard.h>
#import <RongCloudOpenSource/RongLocationKit.h>
对于开发者自定义 UI 的需求,有以下建议:
- 不建议直接修改源码内容,防止后续源码升级将修改内容覆盖。
- 建议通过继承重写某些类与自身逻辑不一致的方法,来增加新方法以扩展自身的业务逻辑。
- 建议使用 SDK 对外暴露的接口,如果调用私有接口可能会出现版本升级引起私有接口变更。
SDK 开源代码说明
-
IMLib(绿色)以 framework 形式存在,属于
RongCloudIM
。 -
RTCLib 和 CallLib(黄色)以 framework 形式存在,属于
RongCloudRTC
。 -
IMKit 及其插件与 CallKit(白色)可以源码形式存在,只属于
RongCloudOpenSource
。图中白色部分的 SDK 或插件可能有对应 Framework。但在您的应用工程中,白色部分(IMKit、Sticker、IFly、ContacCard、CallKit)必须同为源码或同为 Framework,否则可能会发生冲突。
手动导入(仅支持 Framework)
手动集成仅支持以 Framework 方式进行集成。不支持以源码方式集成。
-
前往融云官网 SDK 下载页面,将 IMKit SDK 下载到本地。
-
将下载下来的 SDK 导入您的项目中,所需的 SDK 如下:
Framework 资源文件 IMLib - RongIMLib.xcframework
- RongIMLibCore.xcframework
- RongChatRoom.xcframework
- RongCustomerService.xcframework
- RongDiscussion.xcframework
- RongLocation.xcframework
5.2.5 及之后版本如不使用位置插件 LocationKit,无需导入 - RongPublicService.xcframework
- RCConfig.plist
IMKit - RongIMKit.xcframework
- Emoji.plist
- RCColor.plist
- RongCloud.bundle
- zh-Hans.lproj
- ar.lproj
- en.lproj
LocationKit(可选) - RongLocationKit.xcframework
Translation(可选) - RongTranslation.xcframework
Sticker(可选) - RongSticker.xcframework
- RongSticker.bundle
- en.lproj
- zh-Hans.lproj
- ar.lproj
Sight(可选) - RongSight.xcframework
提示仅 5.2.2 及之后版本的 SDK 支持翻译插件(Translation),该插件暂仅适用于使用新加坡数据中心的应用。
-
修改您的项目配置。在
General
->Frameworks,Libraries,and Embedded Binaries
中,将 IMKit SDK 所需的 Framework 全部改为Embed & Sign
。