跑通 IM Demo 源码
更新时间: 2024/03/15 18:18:27
网易云信在 Github 上提供开源的 IM Demo 源码。您可参考 Demo 源码,在您的本地项目中快速构建即时通讯应用。
本文介绍如何快速跑通 IM Demo 源码。
IM Demo (iOS) 源码仅支持在真机上运行。
Demo 主要模块
前提条件
在开始运行示例项目之前,请确保:
- 已在云信控制台创建应用,获取 App Key。
- 已注册云信 IM 账号,获取 accid 和 token。
- 开发环境满足以下要求:
环境要求 说明 Xcode 版本 Xcode 12 及以上版本 iOS 系统版本 iOS 10.0+
如果您需要使用搭载 Apple M1 处理器芯片的设备(如 MacBook)运行 Demo 源码,请务必在设备的操作系统中完成如下配置:
-
进入访达->应用程序。
-
右键单击 Xcode,并选择显示简介。
-
勾选 使用 Rosetta 打开。
运行示例项目源码
-
前往 GitHub 下载 IM Demo 源码。
Demo 目结构如下:
目录 说明 app 应用主入口,包含外部界面框架 NEChatUIKit 聊天功能界面相关代码 NEContactUIKit 通讯录功能界面相关代码 NEConversationUIKit 会话功能界面相关代码 NETeamUIKit 群组功能界面相关代码 NEMapKit 地图组件相关代码 NERtcCallUIKit 音视频呼叫界面相关代码 -
进入到 swift 示例工程的 Podfile 所在目录(即根目录),执行
pod install
。中间如果报错,请执行pod update
。 -
双击 app.xcworkspace,打开项目。
-
找到工程目录里的
app/Main/AppKey.swift
文件,将如下代码中的<#请输入appkey#>
替换成您的 App Key。public static let appKey = "<#请输入appkey#>"
-
找到工程目录里的
app/Main/AppDelegate.swift
文件,将如下代码中的<#accid#>
和<#token#>
分别替换成您的云信 IM 账号(accid)和 Token。如何获取,请参考注册 IM 账号。func setupInit(){ // init let option = NIMSDKOption() option.appKey = AppKey.appKey option.apnsCername = AppKey.pushCerName // 若不需要推送,可不填 IMKitClient.instance.setupCoreKitIM(option) let accid = "<#account#>" // 您的 accid let token = "<#token#>" // 您的 Token // 填写登录信息 weak var weakSelf = self IMKitClient.instance.loginIM(accid, token) { error in if let err = error { print("login error in app : ", err.localizedDescription) }else { ChatRouter.setupInit() weakSelf?.initializePage() } } }
-
将源码运行在您的真机设备上,即可进入如下界面,开始体验 IM Demo。
可以在我的->设置->外观中切换 UI 风格。
Demo 界面 UI 切换
-
前往 GitHub 下载 IM Demo 源码。
Demo 目结构如下:
目录 说明 IMUIKitOC OC 示例工程入口 NEChatUIKit 聊天功能界面相关代码 NEContactUIKit 通讯录功能界面相关代码 NEConversationUIKit 会话功能界面相关代码 NETeamUIKit 群组功能界面相关代码 NEMapKit 地图组件相关代码 NERtcCallUIKit 音视频呼叫界面相关代码 -
进入到 OC 示例工程的 Podfile 所在目录(
IMUIKitOC/IMUIKitOCExample/
),执行pod install
。中间如果报错,请执行pod update
。 -
双击 IMUIKitOCExample.xcworkspace,打开项目。
-
找到 OC 工程目录里的
IMUIKitOCExample/AppKey.h
文件,将如下代码中的your appKey
替换成您的 App Key。static NSString *const AppKey = @"your appKey";
-
找到 OC 工程目录里的
IMUIKitOCExample/Main/AppDelegate.m
文件,将如下代码中的imaccid
和imToken
分别替换成您的云信 IM 账号(accid)和 Token。如何获取,请参考注册 IM 账号。- (void)setupInit { // 初始化NIMSDK NIMSDKOption *option = [NIMSDKOption optionWithAppKey:AppKey]; [[IMKitClient instance] setupCoreKitIM:option]; // 登录IM之前先初始化 @ 消息监听mananger NEAtMessageManager * _ = [NEAtMessageManager instance]; [[IMKitClient instance] loginIM:@"imaccid" :@"imToken" :^(NSError * _Nullable error) { if (error != nil) { NSLog(@"NEKitCore login error : %@", [error description]); } else { [self setupTabbar]; } }]; }
-
将源码运行在您的真机设备上,即可进入如下界面,开始体验 IM Demo。
可以在我的->设置->外观中切换 UI 风格。
Demo 界面 UI 切换