CallKit 2.X 升级到 5.X
本文只描述 CallKit SDK 的升级步骤。如果您的 App 工程中调用了 CallLib RCCallClient
下的方法,请在完成本文档升级步骤后继续前往 CallLib 升级文档。
升级概述
CallKit SDK 5.X 对比 2.X,适配了 iPhone 新机型与新系统,使用起来更加稳定,并在之前版本上修复了大量问题,建议尽早升级至新版 CallKit SDK。
前置条件
- CallKit SDK 依赖 IMKit 请您确保已将 IMKit 升级至 5.X。
- 已遵照 IMkit 升级要求将您的 Cocoapod 版本升级到 1.10.0 以上。
评估升级工作量
- 如果您 App 未修改 CallKit 源码(例如采用 pod 依赖)直接按照以下方式修改依赖即可完成升级。
- 如果您对 CallKit 代码做了少量修改,您可以依照集成后的报错提示,进行修改。
- 如果您对 CallKit 代码做了大量修改,建议您查询您的修改记录,使用 5.X CallKit 重新实现个性化需求。
手动集成
-
将原先 SDK 依赖的系统库全部去掉,如果 App 或者其他 SDK 有依赖的系统库除外
- AssetsLibrary
- MapKit
- ImageIO
- Security
- SystemConfiguration
- QuartzCore
- AVFoundation
- GLKit
- OpenGLES
- CoreGraphics
- CoreLocation
- CoreTelephony
- CoreFoundation
- CoreMedia
- CoreAudio
- CoreVideo
- CFNetwork
- AudioToolbox
- VideoToolBox
- AVFoundation
- libc++.tbd
- libz.tbd
- libbz2.tbd
- libiconv.tbd
- libsqlite3.tbd
-
将 2.X 的 RongCallLib.framework、RongRTCLib.framework、RongCallKit.framework、RongIMLib.framework、RongIMKit.framework、libopencore-amrnb.a (该库包含在 RongIMLib 软件包中) 删除并替换为 5.X 的 RongRTCLib.xcframework、RongIMLibCore.xcframework、RongCallLib.xcframework、RongIMLib.xcframework、RongIMKit.xcframework、RongCallKit.xcframework
-
General -> Frameworks,Libraries,and Embedded Binaries 中将 RongXX.framework 的 Embed 设置为 Embed & Sign
pod 集成
-
在 podfile 中添加如下内容:
pod 'RongCloudRTC/RongCallKit', '~> x.y.z'
-
请在终端中运行以下命令:
pod install
如果出现找不到相关版本的问题,可先执行 pod repo update ,再执行 pod install 。
接口替换说明
初始化接口
将原有 AppKey 初始化方法进行替换
[[RCIM sharedRCIM] initWithAppKey:@"请在开发者平台获取AppKey"];
连接接口
将原有连接 IM 方法进行替换
// 连接 IM 服务
[[RCIM sharedRCIM] connectWithToken:@"从您服务器端获取的 Token"
dbOpened:^(RCDBErrorCode code) {}
success:^(NSString *userId) {}
error:^(RCConnectErrorCode status) {}];