All Projects → netease-im → Nim_ios_uikit

netease-im / Nim_ios_uikit

Licence: mit
网易云信 iOS UI 组件,提供聊天界面,文本消息,图片消息,语音消息,视频消息,地理位置消息,自定义消息(阅后即焚)等消息示例。#推荐客户得比特币,首次推荐得0.02BTC,连续推荐得0.03BTC/单,上不封顶。点击参与https://yunxin.163.com/promotion/recommend

Projects that are alternatives of or similar to Nim ios uikit

NIM iOS UIKit
网易云信 iOS UI 组件,提供聊天界面,文本消息,图片消息,语音消息,视频消息,地理位置消息,自定义消息(阅后即焚)等消息示例。#推荐客户得比特币/京东卡,现在推荐使用网易云信,最低得0.02BTC或3000元京东卡/单,点击参与:https://yunxin.163.com/promotion/recommend
Stars: ✭ 1,371 (+3.39%)
Mutual labels:  chat, component-library, pod, ui-components, chat-application
Rsformview
A Cocoapods library designed to easily create forms with multiple data entry fields
Stars: ✭ 84 (-93.67%)
Mutual labels:  cocoapods, pod, ui-components
Bekcurvetabbar
Full Customizable Tabbar with IBInspectables
Stars: ✭ 144 (-89.14%)
Mutual labels:  cocoapods, pod, ui-components
Abexpandableview
Expandable, collapsible, filterable and single/multi selectable table view.
Stars: ✭ 138 (-89.59%)
Mutual labels:  cocoapods, pod, ui-components
Chat21 Android Sdk
Android Chat SDK built on Firebase
Stars: ✭ 204 (-84.62%)
Mutual labels:  sdk, chat, chat-application
Quickblox Ios Sdk
QuickBlox iOS SDK for messaging and video calling
Stars: ✭ 373 (-71.87%)
Mutual labels:  sdk, chat, cocoapods
Chat21 Ios Sdk
DEPRECATED
Stars: ✭ 15 (-98.87%)
Mutual labels:  sdk, chat, chat-application
Wstagsfield
An iOS text field that represents tags, hashtags, tokens in general.
Stars: ✭ 1,013 (-23.6%)
Mutual labels:  cocoapods, ui-components
Tail Kit
Tail-kit is a free and open source components and templates kit fully coded with Tailwind css 2.0.
Stars: ✭ 997 (-24.81%)
Mutual labels:  ui-components, component-library
Unplug
unplug : desktop client for matrix.org (work-in-progress)
Stars: ✭ 45 (-96.61%)
Mutual labels:  chat, chat-application
Ionic Chat With Firebase
IONIC Chat With Firebase
Stars: ✭ 53 (-96%)
Mutual labels:  chat, chat-application
Components
Example Components (Built with Tonic)
Stars: ✭ 42 (-96.83%)
Mutual labels:  ui-components, component-library
Heal O Chat
Heal-O-Chat is a Social Media Application for people who have been feeling less motivated in life or are losing hope. This platform allows users to chat with people and share their thoughts and feelings with each other and thereby let go of stress, anxiety, and depression that they've been feeling for long.
Stars: ✭ 42 (-96.83%)
Mutual labels:  chat, chat-application
Website
Website and documentation for Radix.
Stars: ✭ 45 (-96.61%)
Mutual labels:  ui-components, component-library
Axiom React
Axiom - Brandwatch design system and React pattern library
Stars: ✭ 41 (-96.91%)
Mutual labels:  ui-components, component-library
Tick.chat
Chat via nearby persons. Instant, Secure, Anonymously. 🕶
Stars: ✭ 50 (-96.23%)
Mutual labels:  chat, chat-application
React Bell Chat
🔔 Easy to use chat user interface for React
Stars: ✭ 38 (-97.13%)
Mutual labels:  chat, chat-application
Swiftychat
SwiftUI Chat UI (Client) Framework & Documentation to get started!
Stars: ✭ 50 (-96.23%)
Mutual labels:  chat, chat-application
Chatair Android
💬 A full featured chat in android using Firestore
Stars: ✭ 55 (-95.85%)
Mutual labels:  chat, chat-application
Qmchatviewcontroller Ios
An elegant ready to go chat view controller for iOS applications
Stars: ✭ 75 (-94.34%)
Mutual labels:  chat, cocoapods

推荐客户得比特币,首次推荐得0.02BTC,连续推荐得0.03BTC/单,上不封顶。点击参与https://yunxin.163.com/promotion/recommend

网易云信 UI 组件 · iOS

Build Status Pod Version Pod Platform Minimum Requirement LICENSE

简介

云信 UI 组件,全称 Netease Instant Message Kit,简称 NIMKit,是一款开源的聊天组件,并支持二次开发。开发者只需要稍作配置就可以打造出属于自己的聊天界面,而通过一些自定义的设置,也可以轻松添加业务相关的功能,如阅后即焚,红包,点赞等功能。NIMKit 底层依赖 NIMSDK,是一款由网易开发的 IM SDK,通过它可以轻松快速在你的 App 中集成 IM 功能。

源起

在一个开发首次做 IM App 时,聊天界面的 ViewController 几乎会变成项目开发中的泥潭,随着项目推进和需求迭代,聊天界面 ViewController 往往会变成 Massive View Controller,所有聊天界面相关的代码都堆积在一起,整个 ViewController 的代码轻松就上千行,无法很好的解耦。

造成聊天界面代码臃肿的原因往往有:

  • 消息种类繁多,没有做很好的归类与统一,代码可拓展性低
  • 聊天界面 UI 元素,事件,回调众多,没有合理解耦

而在日常的 iOS 开发中,大牛们为我们总结出各种方法来进行各个模块的解耦,大方向上有

  • MVCS
  • MVP
  • MVVM
  • VIPER

落实到细节上,又有使用组合,抽取数据源等等小技巧。但对于一些经验不足的 iOS 开发而言,做出一个优雅的聊天界面 ViewController 仍旧是一件难于上青天的事。

在开发云信的前期,我们虽然也意识到这方面的困难,在提供云信 SDK 的同时也开源了相应的 Demo 源码,意在提供一个比较优雅的实现参考,但对于接入的开发者而言,成本仍然过大。这也是这个组件库的由来和目的:开发者在不写任何一行代码的情况下也能够轻松实现一个聊天界面。

集成环境

  • 编译版本 : iOS SDK 10.0 及以上。
  • 操作系统 : iOS 8.0 及以上。

集成说明

Cocoapods 集成

我们建议你通过 Cocoapods 来进行 NIMKit 的集成,在 Podfile 中加入以下内容:

pod 'NIMKit'

需要注意的是默认 NIMKit 依赖于 轻量版本NIMSDK,而 完整版本NIMSDK 不仅有 IM 模块,也有音视频模块。对于很多产品而言,只需要接入单纯的 IM 模块,这样可以减少对不必要模块的依赖,进而减少 App 体积。所以我们有两个版本的组件可供选择,安装完组件之后,则不必再安装 NIMSDK 依赖。

  • 轻量版本

    pod 'NIMKit'
    

    pod 'NIMKit/Lite'
    
  • 完整版本

    pod 'NIMKit/Full'
    

Swift 集成

由于使用 Swift 开发的第三方库不支持编译为静态库,NIMKit 和这些库同时使用 Cocoapods 的时候会出现一些问题,具体解决方案可以参考这个文档

手动集成

我们强烈不推荐你使用手动导入的方式来集成 NIMKit,但如果你一定要这么做,可以参考这个文档

快速使用

NIMKit 提供两个最重要的类

  • NIMSessionViewController
  • NIMSessionListViewController

前者用于会话界面的显示和互动,而后者提供了最近会话功能。在集成 NIMSDK 且完成了基础设置后,直接调用这两个类就可以得到完善的聊天界面和会话列表。

聊天界面

初始化聊天界面时,上层需要传入当前聊天界面对应的会话信息,即 NIMSession

NIMSession *session = [NIMSession session:uid type:NIMSessionTypeP2P];
NIMSessionViewController *vc = [[NIMSessionViewController alloc] initWithSession:session];
[self.navigationController pushViewController:vc animated:YES];

会话列表

初始化会话列表不需要任何前置条件,直接初始化即可。

NIMSessionListViewController *vc = [[NIMSessionListViewController alloc] init];

集成效果

最近会话进入会话 群组会话 发送多张图片
image image image
发送语音 发送地理位置 发送中与发送失败,点击叹号可重发
image image image
自定义消息-阅后即焚示例 最近联系人选择器 最近会话删除与未读删除
image image image

定制化

在不做任何修改,直接套用 NIMKit 组件,就能够达到上述效果。但不同的产品往往会有不同的定制化需求,定制化需求参考

1.《项目结构介绍》

2.《界面排版自定义》

3.《新消息类型集成》

4.《用户信息自定义》

5.《机器人消息排版指南》

更新日志

你可以在 这里 查看组件 2.1.0 版本之后的所有更新信息

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].