跑通 IM Demo 源码

更新时间: 2024/03/15 18:18:27

网易云信在 Github 上提供开源的 IM Demo 源码。您可参考 Demo 源码,在您的本地项目中快速构建即时通讯应用。

本文介绍如何快速跑通 IM Demo 源码。

IM Demo (iOS) 源码仅支持在真机上运行。

Demo 主要模块

基础版 UI
通用版 UI

前提条件

在开始运行示例项目之前,请确保:

  • 已在云信控制台创建应用,获取 App Key。
  • 注册云信 IM 账号,获取 accid 和 token。
  • 开发环境满足以下要求:
    环境要求 说明
    Xcode 版本 Xcode 12 及以上版本
    iOS 系统版本 iOS 10.0+

如果您需要使用搭载 Apple M1 处理器芯片的设备(如 MacBook)运行 Demo 源码,请务必在设备的操作系统中完成如下配置:

  1. 进入访达->应用程序

  2. 右键单击 Xcode,并选择显示简介

  3. 勾选 使用 Rosetta 打开

    AppleM1.png

运行示例项目源码

Swift
  1. 前往 GitHub 下载 IM Demo 源码

    Demo 目结构如下:

    目录 说明
    app 应用主入口,包含外部界面框架
    NEChatUIKit 聊天功能界面相关代码
    NEContactUIKit 通讯录功能界面相关代码
    NEConversationUIKit 会话功能界面相关代码
    NETeamUIKit 群组功能界面相关代码
    NEMapKit 地图组件相关代码
    NERtcCallUIKit 音视频呼叫界面相关代码
  2. 进入到 swift 示例工程的 Podfile 所在目录(即根目录),执行 pod install。中间如果报错,请执行 pod update

  3. 双击 app.xcworkspace,打开项目。

  4. 找到工程目录里的 app/Main/AppKey.swift 文件,将如下代码中的 <#请输入appkey#>替换成您的 App Key

    public static let appKey = "<#请输入appkey#>"
    
  5. 找到工程目录里的 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()
            }
        }
    }
    
  6. 将源码运行在您的真机设备上,即可进入如下界面,开始体验 IM Demo。

    可以在我的->设置->外观中切换 UI 风格。

    Demo 界面UI 切换
Objective-C
  1. 前往 GitHub 下载 IM Demo 源码

    Demo 目结构如下:

    目录 说明
    IMUIKitOC OC 示例工程入口
    NEChatUIKit 聊天功能界面相关代码
    NEContactUIKit 通讯录功能界面相关代码
    NEConversationUIKit 会话功能界面相关代码
    NETeamUIKit 群组功能界面相关代码
    NEMapKit 地图组件相关代码
    NERtcCallUIKit 音视频呼叫界面相关代码
  2. 进入到 OC 示例工程的 Podfile 所在目录(IMUIKitOC/IMUIKitOCExample/),执行 pod install。中间如果报错,请执行 pod update

  3. 双击 IMUIKitOCExample.xcworkspace,打开项目。

  4. 找到 OC 工程目录里的 IMUIKitOCExample/AppKey.h 文件,将如下代码中的 your appKey 替换成您的 App Key

    static NSString *const AppKey = @"your appKey";
    
  5. 找到 OC 工程目录里的 IMUIKitOCExample/Main/AppDelegate.m 文件,将如下代码中的 imaccidimToken 分别替换成您的云信 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];
            }
        }];
    }
    
  6. 将源码运行在您的真机设备上,即可进入如下界面,开始体验 IM Demo。

    可以在我的->设置->外观中切换 UI 风格。

    Demo 界面UI 切换
此文档是否对你有帮助?
有帮助
去反馈
  • Demo 主要模块
  • 前提条件
  • 运行示例项目源码