融云IM干货丨在SwiftUI中集成IMKit,主要涉及到将UIKit页面转换为SwiftUI页面,以便在SwiftUI应用中使用IMKit提供的聊天功能。集成IMKit的基本步骤有哪些

融云IM即时通讯
• 阅读 221

创建项目: 打开Xcode并创建一个新的Swift项目。RongCloudIM/IMKit支持Swift,确保你的项目设置为使用Swift语言。

安装IMKit: 你可以通过CocoaPods来安装iOS版本的IMKit(含UI SDK)。在Podfile中添加以下内容:

ruby pod 'RongCloudIM/IMKit', '~> x.y.z' 然后,在终端中运行以下命令:

pod repo update pod install 完成后,CocoaPods会在工程根目录下生成一个xcworkspace文件,通过Xcode打开该文件即可加载工程。

初始化IMKit: 在你的应用中集成和运行Rongcloud IMKit(含UI SDK),需要首先引入RongIMKit,然后通过AppDelegate初始化RCIM。

使用UIViewControllerRepresentable: 由于IMKit中的RCConversationListViewController和RCConversationViewController两个页面强依赖UINavigationController,并且内部使用的是frame布局,直接放入SwiftUI的View中会导致安全区域失效,frame计算错误。因此,需要使用UIViewControllerRepresentable将UIKit的页面转换为SwiftUI页面。以下是转换的一个示例:

swift struct ChatListView: UIViewControllerRepresentable { func makeUIViewController(context: Context) -> UIViewController { let displayConversationTypeArray = [ RCConversationType.ConversationType_PRIVATE.rawValue, RCConversationType.ConversationType_GROUP.rawValue, ] let collectionConversationType = [ RCConversationType.ConversationType_SYSTEM.rawValue ] guard let conversationList = RCDChatsViewController( displayConversationTypes: displayConversationTypeArray, collectionConversationType: collectionConversationType ) else { return UIViewController() } return UINavigationController(rootViewController: conversationList); } func updateUIViewController(_ uiViewController: UIViewController, context: Context) { } } 然后在SwiftUI的ContentView中使用这个ChatListView,并注意使用ignoresSafeArea忽略安全区域:

swift struct ContentView: View { var body: some View { ChatListView() .ignoresSafeArea() } }

通过上述步骤,你可以在SwiftUI应用中集成IMKit,实现即时通讯功能。

点赞
收藏
评论区
推荐文章
私有云集成 iOS IMKit 5.X 源码的解决方案
描述IMKitSDK5.0及以上版本UI相关库开放了源代码,支持在CocoaPods中以源码形式进行调试与集成。但私有云客户无法直接参照使用公有云开发文档,通过CocoPods集成IMKit源码。私有云客户如需集成IMKit源码,请使用本文中的解决方案。分
SwiftUI 集成 IMKit
SwiftUI集成IMKit在SwiftUI中,集成IMKit中RCConversationListViewController和RCConversationViewController两页面可能存在以下问题:1、直接在View中使用,两个页面会错位;2、
融云IM即时通讯 融云IM即时通讯
1个月前
融云IM干货丨CocoaPods 安装后怎么确认IMKit已集成?
确认IMKit是否已通过CocoaPods集成到项目中,可以通过以下几个步骤进行验证:检查Podfile文件:确认你的Podfile文件中是否已经添加了IMKit的pod条目,类似于以下代码:rubypod'RongCloudIM/IMKit','x.y.
融云 IM 干货丨SwiftUi 集成 IMKit 源码解决方案
关于在SwiftUI中集成IMKit的问题,需要找到一个源码解决方案。首先,需要明确IMKit是什么。IMKit是一个用于构建即时通讯界面的库,它提供了消息列表、输入视图等组件,可以简化开发过程。既然问题是关于在SwiftUI中集成IMKit,IMKit可
融云 IM 干货丨私有云客户如何获取IMKit源码并集成?
私有云客户获取并集成IMKit源码的步骤如下:获取IMKit源码1.登录获取私有云IMKit源码工程,账号密码需咨询企微群群主。修改源码中的脚本2.修改IMKit源码中的beforebuild.sh文件,注释掉所有代码。3.修改IMKit源码中的after
融云 IM 干货丨私有云IMKit的自定义功能是否支持跨平台使用?
私有云IMKit的自定义功能支持跨平台使用,具体如下:1.跨平台支持IMKit支持在多个主流平台上集成使用,包括Android、iOS、Web等。这意味着开发者可以使用一套代码,创建适用于多个平台的应用,提高开发效率和应用的可移植性。2.平台兼容性Andr
融云 IM 干货丨私有云IMKit的自定义功能有哪些创新点?
私有云IMKit的自定义功能具有多个创新点,以下是一些主要的创新点:1.跨平台支持IMKit支持在多个主流平台上集成使用,包括Android、iOS、Web等。这意味着开发者可以使用一套代码,创建适用于多个平台的应用,提高开发效率和应用的可移植性。2.易用
融云 IM 干货丨如何确保私有云IMKit的跨平台兼容性?
确保私有云IMKit的跨平台兼容性,可以参考以下方法和建议:1.适配不同操作系统和硬件平台统一接口封装:通过抽象出公共的功能模块,使得SDK能在多个平台无缝工作。例如,融云的IMKit通过适配不同操作系统和硬件平台,确保在Android、iOS、Web等多
融云 IM 干货丨私有云IMKit支持哪些国家的语言?
私有云IMKit支持以下国家的语言:默认支持的语言简体中文(zhCN)英语(enUS)阿拉伯语(ar)其他语言支持除了上述默认支持的语言外,IMKit还支持通过客户端单独适配其他语言。例如,可以通过以下步骤添加日语支持:1.创建Localizations:
融云 IM 干货丨 私有云IMKit的国际化开发文档在哪里可以找到?
私有云IMKit的国际化开发文档可以在融云开发者文档中心找到。以下是不同平台的国际化开发文档链接:Web平台语言设置:Web平台的IMKit支持中英文两种语言。SDK会根据设置语种展示IMKit界面组件文案。默认展示中文。可以通过以下代码切换语言:java
融云IM即时通讯
融云IM即时通讯
Lv1
北京云中融信网络科技有限公司(简称“融云”),是全球互联网通信云服务领创品牌。2014 年由创下亿级日活神话的“飞信”核心团队组建而成,依托沉淀近 20 年的领先技术基因,开创性地将通信技术封装为 SDK 提供给开发者和企业用户,大幅降低了行业对通信功能开发的难度和成本。 自成立以来,融云专注于向开发者和企业提供专业、简单、稳定的即时通讯和实时音视频 PaaS 服务。凭借产品、技术、服务等多方面优势,融云收获了超 80 万开发者和 2200+ 国家政府机关、企事业单位的青睐,支撑起 155 万+ 应用的通信需求,覆盖社交、娱乐、游戏、教育、电商、医疗等各行业场景,并打造出一系列中企出海最佳实践案例。 在全球范围内,融云构建了一张覆盖 245 个国家及地区的通信云网络,设立了多个海外数据中心以及数千加速节点,稳定互联,确保跨地域通信体验更加流畅。基于客户业务需求,融云可提供公有云、私有云、混合云等多种部署模式。 权威咨询机构“艾瑞咨询”数据报告显示,融云即时通讯云市场份额已连续多年稳居第一。
文章
208
粉丝
0
获赞
0